A companion library for using pynt, a build tool, with Django projects.
This library provides a set of pre-built tasks for your, pynt based, build.py along with supporting utility and project specific functions.
- pip install pynt-of-django
From within your build.py, setup pyntofdjango.
import os import pyntofdjango pyntofdjango.setup_pod(os.path.abspath(__file__))
Import any tasks you may need. See pyntofdjango’s build.py for a full list.
from pyntofdjango.tasks import create_venv, manage, test_nose
Now you should see your new tasks on the command line.
You are likely to run into cases that the canned tasks don’t cover. Or maybe they are close but not exactly what you want. For this the lower level functions may be useful when building your own pynt tasks.
There is a project module containing functions specific to your project.
from pyntofdjango import project
As well as a utils module containing general utility functions.
from pyntofdjango import utils
This project builds on the basic way to use virtualenv, where the virtualenv folder (called venv) is placed within the project and ignored by the repo.
Why an in-project virtualenv?
The most important bit is that it allows devs to get going with your project without worrying about virtualenv all the time. There are more reasons and there are disadvantages. Christopher Webber has an explitive filled presentation on some of the reasons in-project virtualenvs may be your style.
Why not use [my favorite build tool]?
Pynt is very simple but nice for that same reason.
- It’s pure Python and as a result it works great on all platforms.
- It’s only a local build tool and not a deployment tool and neither is this project.
- It supports Python 3 and so does this project.
- It makes for a cool companion project name.
- Removed Django installation requirement
- Fixed issue with manage.py being found in .tox
- Most commands wrapping an underlying executable now accept both positional and named (–foo=bar) shell arguments.
- create_venv now uses –no-site-packages for venv by default
- test_tox is working again
- clean works again, also cross platform compliant
- Now using pyntcontrib functions where possible
- test_* and manage related tasks now pass along args to underlying commands.
- For safety: delete_venv task now refuses to delete a dir larger than a max of ~500mb
- First release on PyPI.