A cookiecutter template for a single python file.
- Free software: BSD license
- Testing with pytest
- Tox testing: Setup to easily test for Python 2.6, 2.7, 3.3
- README.rst for documentation (Sphinx is overkill for single )
First, get cookiecutter. Trust me, it's awesome:
$ pip install cookiecutter
Then, we'll assume you have a snippet of Python code you want to turn into a tested, documented, and installable package. For example, it might be a function:
def do_something(value):
raise NotImplementedError("Replace with your own code")
Alright, time to cenerate a single module Python package!:
cookiecutter https://github.com/napalm255/cookiecutter-pyfile.git
You'll be prompted for some questions, answer them, and cookiecutter does a bunch of work for you. Once it's done, enter the new package:
cd <new-package-name>
Now, add your code to the just-generated module. To make sure your code is going into the correct place, look for the following text:
###################################### # # Your code goes here # ######################################
Once that's done we suggest you create a GitHub repo and put your new package there. Once it's properly secured there, write some tests in the tests.py module!
python setup.py register
This is what I want. It might not be what you want. Don't worry, you have options:
If you have differences in your preferred setup, I encourage you to fork this to create your own version. Or create your own; it doesn't strictly have to be a fork.
- Once you have your own version working, let me know and I'll list it here.
- It's up to you whether or not to rename your fork/own version. Do whatever you think sounds good.
I also accept pull requests on this, if they're small, atomic, and if they make my own packaging experience better.