Skip to content

Commit 8285b7d

Browse files
committed
Base project structure
0 parents  commit 8285b7d

11 files changed

+2227
-0
lines changed

.coveragerc

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[run]
2+
# uncomment the following to omit files during running
3+
#omit =
4+
[report]
5+
exclude_lines =
6+
pragma: no cover
7+
def __repr__
8+
if self.debug:
9+
if settings.DEBUG
10+
raise AssertionError
11+
raise NotImplementedError
12+
if 0:
13+
if __name__ == .__main__.:
14+
def main

.editorconfig

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# http://editorconfig.org
2+
3+
root = true
4+
5+
[*]
6+
indent_style = space
7+
indent_size = 4
8+
trim_trailing_whitespace = true
9+
insert_final_newline = true
10+
charset = utf-8
11+
end_of_line = lf
12+
13+
[*.bat]
14+
indent_style = tab
15+
end_of_line = crlf
16+
17+
[LICENSE]
18+
insert_final_newline = false
19+
20+
[Makefile]
21+
indent_style = tab

.flake8

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[flake8]
2+
max-line-length = 100
3+
max-complexity = 18
4+
ignore =
5+
E203, # whitespace before ‘:’, conflict with black
6+
E266, # Comments with multiple ##
7+
F403, # ‘from module import *’ used; unable to detect undefined names
8+
F405, # name may be undefined, or defined from star imports: module
9+
W504, # Don't forbid line breaks after binary operators. They are preferred according to PEP8
10+
W291 # Trailing whitespace. Often appears in multiline strings in tests
11+
select = B,C,E,F,W,T4,B9
12+
docstring-convention = google
13+
# F401: module imported but unused
14+
per-file-ignores =
15+
__init__.py:F401
16+
exclude =
17+
.git,
18+
__pycache__,
19+
setup.py,
20+
build,
21+
dist,
22+
releases,
23+
.venv,
24+
.tox,
25+
.mypy_cache,
26+
.pytest_cache,
27+
.vscode,
28+
.github,
29+
tests,
30+
local

.gitignore

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# local folder
2+
local/
3+
4+
# Byte-compiled / optimized / DLL files
5+
__pycache__/
6+
*.py[cod]
7+
*$py.class
8+
9+
# C extensions
10+
*.so
11+
12+
# Distribution / packaging
13+
.Python
14+
build/
15+
develop-eggs/
16+
dist/
17+
downloads/
18+
eggs/
19+
.eggs/
20+
lib/
21+
lib64/
22+
parts/
23+
sdist/
24+
var/
25+
wheels/
26+
*.egg-info/
27+
.installed.cfg
28+
*.egg
29+
MANIFEST
30+
31+
# Installer logs
32+
pip-log.txt
33+
pip-delete-this-directory.txt
34+
35+
# Unit test / coverage reports
36+
htmlcov/
37+
.tox/
38+
.coverage
39+
.coverage.*
40+
.cache
41+
nosetests.xml
42+
coverage.xml
43+
*.cover
44+
.hypothesis/
45+
.pytest_cache/
46+
pytest.xml
47+
48+
# Documentation
49+
docs/_build/
50+
docs/api
51+
52+
# PyBuilder
53+
target/
54+
55+
# Jupyter Notebook
56+
.ipynb_checkpoints
57+
58+
# pyenv
59+
.python-version
60+
61+
# celery beat schedule file
62+
celerybeat-schedule
63+
64+
# SageMath parsed files
65+
*.sage.py
66+
67+
# Environments
68+
.env
69+
.venv
70+
env/
71+
venv/
72+
ENV/
73+
env.bak/
74+
venv.bak/
75+
76+
# IDE project settings
77+
.spyderproject
78+
.spyproject
79+
.ropeproject
80+
.idea
81+
.vscode/
82+
83+
# mkdocs documentation
84+
/site
85+
86+
# mypy
87+
.mypy_cache/
88+
89+
# mkdocs build dir
90+
site/

.pre-commit-config.yaml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
ci:
2+
autofix_prs: false
3+
autoupdate_schedule: monthly
4+
skip: []
5+
submodules: false
6+
repos:
7+
- repo: https://github.com/Lucas-C/pre-commit-hooks
8+
rev: v1.1.10
9+
hooks:
10+
- id: forbid-crlf
11+
- id: remove-crlf
12+
- id: forbid-tabs
13+
- id: remove-tabs
14+
- repo: https://github.com/pre-commit/pre-commit-hooks
15+
rev: v4.0.1
16+
hooks:
17+
- id: trailing-whitespace
18+
- id: end-of-file-fixer
19+
- id: check-merge-conflict
20+
- id: check-yaml
21+
args: [--unsafe]
22+
- repo: https://github.com/pre-commit/mirrors-isort
23+
rev: v5.8.0
24+
hooks:
25+
- id: isort
26+
- repo: https://github.com/ambv/black
27+
rev: 21.5b1
28+
hooks:
29+
- id: black
30+
language_version: python3.9
31+
- repo: https://gitlab.com/pycqa/flake8
32+
rev: 3.9.2
33+
hooks:
34+
- id: flake8
35+
additional_dependencies: [flake8-typing-imports==1.10.0]

AUTHORS.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Credits
2+
3+
## Creator
4+
5+
* Christian Krudewig <[email protected]>
6+
7+
## Contributors
8+
9+
None yet. Why not be the first?

CONTRIBUTING.md

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Contributing
2+
3+
Contributions are welcome, and they are greatly appreciated! Every little bit
4+
helps, and credit will always be given.
5+
6+
You can contribute in many ways:
7+
8+
## Types of Contributions
9+
10+
### Report Bugs
11+
12+
Report bugs at https://github.com/chr1st1ank/dframeio/issues.
13+
14+
If you are reporting a bug, please include:
15+
16+
* Your operating system name and version.
17+
* Any details about your local setup that might be helpful in troubleshooting.
18+
* Detailed steps to reproduce the bug.
19+
20+
### Fix Bugs
21+
22+
Look through the GitHub issues for bugs. Anything tagged with "bug" and "help
23+
wanted" is open to whoever wants to implement it.
24+
25+
### Implement Features
26+
27+
Look through the GitHub issues for features. Anything tagged with "enhancement"
28+
and "help wanted" is open to whoever wants to implement it.
29+
30+
### Write Documentation
31+
32+
dataframe-io could always use more documentation, whether as part of the
33+
official dataframe-io docs, in docstrings, or even on the web in blog posts,
34+
articles, and such.
35+
36+
### Submit Feedback
37+
38+
The best way to send feedback is to file an issue at https://github.com/chr1st1ank/dframeio/issues.
39+
40+
If you are proposing a feature:
41+
42+
* Explain in detail how it would work.
43+
* Keep the scope as narrow as possible, to make it easier to implement.
44+
* Remember that this is a volunteer-driven project, and that contributions
45+
are welcome :)
46+
47+
## Get Started!
48+
49+
Ready to contribute? Here's how to set up `dframeio` for local development.
50+
51+
1. Fork the `dframeio` repo on GitHub.
52+
2. Clone your fork locally
53+
54+
```
55+
$ git clone [email protected]:your_name_here/dframeio.git
56+
```
57+
58+
3. Ensure [poetry](https://python-poetry.org/docs/) is installed.
59+
4. Install dependencies and start your virtualenv:
60+
61+
```
62+
$ poetry install -E test -E doc -E dev
63+
```
64+
65+
5. Create a branch for local development:
66+
67+
```
68+
$ git checkout -b name-of-your-bugfix-or-feature
69+
```
70+
71+
Now you can make your changes locally.
72+
73+
6. When you're done making changes, check that your changes pass the
74+
tests, including testing other Python versions, with tox:
75+
76+
```
77+
$ tox
78+
```
79+
80+
7. Commit your changes and push your branch to GitHub:
81+
82+
```
83+
$ git add .
84+
$ git commit -m "Your detailed description of your changes."
85+
$ git push origin name-of-your-bugfix-or-feature
86+
```
87+
88+
8. Submit a pull request through the GitHub website.
89+
90+
## Pull Request Guidelines
91+
92+
Before you submit a pull request, check that it meets these guidelines:
93+
94+
1. The pull request should include tests.
95+
2. If the pull request adds functionality, the docs should be updated. Put
96+
your new functionality into a function with a docstring, and add the
97+
feature to the list in README.md.
98+
3. The pull request should work for CPython 3.7, 3.8 and 3.9. Check
99+
https://github.com/chr1st1ank/dframeio/actions
100+
and make sure that the tests pass for all supported Python versions.
101+
102+
## Deploying
103+
104+
A reminder for the maintainers on how to deploy.
105+
106+
On branch "main":
107+
- Adjust CHANGELOG.md as described on https://keepachangelog.com
108+
- Adjust the version number in dframeio/__init__.py
109+
- Then run `poetry version [major | minor | patch]`
110+
- Commit and push the changes
111+
- Create a github release and watch the [release workflow](https://github.com/chr1st1ank/dataframe-io/actions/workflows/release.yml)
112+
publishing the documentation and the PyPI package.

0 commit comments

Comments
 (0)