Skip to content

Commit 3dab247

Browse files
committed
Rebase all the project layout based on the cookiecutter https://github.com/ionelmc/cookiecutter-pylibrary
1 parent bfe5cac commit 3dab247

38 files changed

+1738
-153
lines changed

.bumpversion.cfg

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[bumpversion]
2+
current_version = 1.0.0
3+
commit = True
4+
tag = True
5+
6+
[bumpversion:file:setup.py]
7+
8+
[bumpversion:file:README.rst]
9+
10+
[bumpversion:file:docs/conf.py]
11+
12+
[bumpversion:file:src/memwiper/__init__.py]
13+

.coveragerc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[paths]
2+
source = src
3+
4+
[run]
5+
branch = true
6+
source =
7+
src
8+
tests
9+
parallel = true
10+
11+
[report]
12+
show_missing = true
13+
precision = 2
14+
omit = *migrations*

.gitignore

Lines changed: 42 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,65 @@
1-
# Byte-compiled / optimized / DLL files
2-
__pycache__/
31
*.py[cod]
4-
*$py.class
52

63
# C extensions
74
*.so
85

9-
# Distribution / packaging
10-
.Python
11-
bin/
12-
env/
13-
build/
14-
develop-eggs/
15-
dist/
16-
downloads/
17-
eggs/
18-
.eggs/
19-
include/
20-
lib/
21-
lib64/
22-
#for the symlinks
23-
lib64
24-
parts/
25-
sdist/
26-
var/
27-
*.egg-info/
28-
.installed.cfg
6+
# Packages
297
*.egg
30-
pip-selfcheck.json
31-
32-
# PyInstaller
33-
# Usually these files are written by a python script from a template
34-
# before PyInstaller builds the exe, so as to inject date/other infos into it.
35-
*.manifest
36-
*.spec
8+
*.egg-info
9+
dist
10+
build
11+
eggs
12+
.eggs
13+
parts
14+
bin
15+
var
16+
sdist
17+
wheelhouse
18+
develop-eggs
19+
.installed.cfg
20+
lib
21+
lib64
22+
venv*/
23+
pyvenv*/
3724

3825
# Installer logs
3926
pip-log.txt
40-
pip-delete-this-directory.txt
4127

4228
# Unit test / coverage reports
43-
htmlcov/
44-
.tox/
4529
.coverage
30+
.tox
4631
.coverage.*
47-
.cache
4832
nosetests.xml
4933
coverage.xml
50-
*,cover
51-
.hypothesis/
34+
htmlcov
5235

5336
# Translations
5437
*.mo
55-
*.pot
56-
57-
# Django stuff:
58-
*.log
59-
local_settings.py
60-
61-
# Flask stuff:
62-
instance/
63-
.webassets-cache
64-
65-
# Scrapy stuff:
66-
.scrapy
6738

68-
# Sphinx documentation
69-
docs/_build/
70-
71-
# PyBuilder
72-
target/
73-
74-
# IPython Notebook
75-
.ipynb_checkpoints
39+
# Mr Developer
40+
.mr.developer.cfg
41+
.project
42+
.pydevproject
43+
.idea
44+
*.iml
45+
*.komodoproject
46+
.ropeproject
7647

77-
# pyenv
78-
.python-version
48+
# Complexity
49+
output/*.html
50+
output/*/index.html
7951

80-
# celery beat schedule file
81-
celerybeat-schedule
52+
# Sphinx
53+
docs/_build
8254

83-
# dotenv
55+
.DS_Store
56+
*~
57+
.*.sw[po]
58+
.build
59+
.ve
8460
.env
85-
86-
# virtualenv
87-
venv/
88-
ENV/
89-
90-
# Spyder project settings
91-
.spyderproject
92-
93-
# Rope project settings
94-
.ropeproject
61+
.cache
62+
.pytest
63+
.bootstrap
64+
.appveyor.token
65+
*.bak

.travis.yml

Lines changed: 51 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,55 @@
11
language: python
2-
2+
sudo: false
33
cache: pip
4-
4+
env:
5+
global:
6+
- LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
7+
- SEGFAULT_SIGNALS=all
8+
matrix:
9+
- TOXENV=check
10+
- TOXENV=docs
511
matrix:
6-
include:
7-
- os: linux
8-
python: "3.3"
9-
- os: linux
10-
python: "3.6"
11-
- os: linux
12-
python: "nightly"
13-
- os: osx
14-
language: generic
15-
16-
install:
17-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then pip install tox; fi
18-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then pip3 install tox; fi
19-
20-
script: tox
21-
12+
include:
13+
- python: '3.3'
14+
env:
15+
- TOXENV=3.3-cover,report,extension-coveralls,coveralls,codecov
16+
- python: '3.3'
17+
env:
18+
- TOXENV=3.3-nocov
19+
- python: '3.4'
20+
env:
21+
- TOXENV=3.4-cover,report,extension-coveralls,coveralls,codecov
22+
- python: '3.4'
23+
env:
24+
- TOXENV=3.4-nocov
25+
- python: '3.5'
26+
env:
27+
- TOXENV=3.5-cover,report,extension-coveralls,coveralls,codecov
28+
- python: '3.5'
29+
env:
30+
- TOXENV=3.5-nocov
31+
- python: '3.6'
32+
env:
33+
- TOXENV=3.6-cover,report,extension-coveralls,coveralls,codecov
34+
- python: '3.6'
35+
env:
36+
- TOXENV=3.6-nocov
2237
before_install:
23-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
24-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3; fi
25-
26-
addons:
27-
apt:
28-
sources:
29-
- ubuntu-toolchain-r-test
30-
packages:
31-
- gcc
38+
- python --version
39+
- uname -a
40+
- lsb_release -a
41+
install:
42+
- pip install tox
43+
- virtualenv --version
44+
- easy_install --version
45+
- pip --version
46+
- tox --version
47+
script:
48+
- tox -v
49+
after_failure:
50+
- more .tox/log/* | cat
51+
- more .tox/*/log/* | cat
52+
notifications:
53+
email:
54+
on_success: never
55+
on_failure: always

AUTHORS.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
Authors
3+
=======
4+
5+
* QliXed - Ezequiel Hector Brizuela - https://qlixed.github.io/

CHANGELOG.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
Changelog
3+
=========
4+
5+
1.0.0 (2017-06-03)
6+
------------------
7+
8+
* First release on PyPI.

CONTRIBUTING.rst

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
============
2+
Contributing
3+
============
4+
5+
Contributions are welcome, and they are greatly appreciated! Every
6+
little bit helps, and credit will always be given.
7+
8+
Bug reports
9+
===========
10+
11+
When `reporting a bug <https://github.com/qlixed/python-memwiper/issues>`_ please include:
12+
13+
* Your operating system name and version.
14+
* Any details about your local setup that might be helpful in troubleshooting.
15+
* Detailed steps to reproduce the bug.
16+
17+
Documentation improvements
18+
==========================
19+
20+
python-memwiper could always use more documentation, whether as part of the
21+
official python-memwiper docs, in docstrings, or even on the web in blog posts,
22+
articles, and such.
23+
24+
Feature requests and feedback
25+
=============================
26+
27+
The best way to send feedback is to file an issue at https://github.com/qlixed/python-memwiper/issues.
28+
29+
If you are proposing a feature:
30+
31+
* Explain in detail how it would work.
32+
* Keep the scope as narrow as possible, to make it easier to implement.
33+
* Remember that this is a volunteer-driven project, and that code contributions are welcome :)
34+
35+
Development
36+
===========
37+
38+
To set up `python-memwiper` for local development:
39+
40+
1. Fork `python-memwiper <https://github.com/qlixed/python-memwiper>`_
41+
(look for the "Fork" button).
42+
2. Clone your fork locally::
43+
44+
git clone [email protected]:your_name_here/python-memwiper.git
45+
46+
3. Create a branch for local development::
47+
48+
git checkout -b name-of-your-bugfix-or-feature
49+
50+
Now you can make your changes locally.
51+
52+
4. When you're done making changes, run all the checks, doc builder and spell checker with `tox <http://tox.readthedocs.io/en/latest/install.html>`_ one command::
53+
54+
tox
55+
56+
5. Commit your changes and push your branch to GitHub::
57+
58+
git add .
59+
git commit -m "Your detailed description of your changes."
60+
git push origin name-of-your-bugfix-or-feature
61+
62+
6. Submit a pull request through the GitHub website.
63+
64+
Pull Request Guidelines
65+
-----------------------
66+
67+
If you need some code review or feedback while you're developing the code just make the pull request.
68+
69+
For merging, you should:
70+
71+
1. Include passing tests (run ``tox``) [1]_.
72+
2. Update documentation when there's new API, functionality etc.
73+
3. Add a note to ``CHANGELOG.rst`` about the changes.
74+
4. Add yourself to ``AUTHORS.rst``.
75+
76+
.. [1] If you don't have all the necessary python versions available locally you can rely on Travis - it will
77+
`run the tests <https://travis-ci.org/qlixed/python-memwiper/pull_requests>`_ for each change you add in the pull request.
78+
79+
It will be slower though ...
80+
81+
Tips
82+
----
83+
84+
To run a subset of tests::
85+
86+
tox -e envname -- py.test -k test_myfeature
87+
88+
To run all the test environments in *parallel* (you need to ``pip install detox``)::
89+
90+
detox

MANIFEST.in

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,21 @@
1-
# Include the license file
2-
include LICENSE.txt
1+
graft docs
2+
graft examples
3+
graft src
4+
graft ci
5+
graft tests
6+
7+
include .bumpversion.cfg
8+
include .coveragerc
9+
include .cookiecutterrc
10+
include .editorconfig
11+
include .isort.cfg
12+
13+
include AUTHORS.rst
14+
include CHANGELOG.rst
15+
include CONTRIBUTING.rst
16+
include LICENSE
17+
include README.rst
18+
19+
include tox.ini .travis.yml appveyor.yml
20+
21+
global-exclude *.py[cod] __pycache__ *.so *.dylib

0 commit comments

Comments
 (0)