Skip to main content

Templates to be used when creating projects.

Project description

**pydoit-project-builder** is an open source python library that provides command line interface to accelerate python development. The library is build on top of [doit](http://pydoit.org/).

Inside a new project and assuming the presence of a `setup.py` file, pydoit-project-builder provides a series of command lines to manage a python project:

* Create a virtual environment for the project.
* Install dependencies.
* Create documentation.
* Check code style with pylint and flake8.
* Create a distribution and package the project.
* Remove auxialiary files such as the virtual environment, the auxialiary files, ects.
* Launch tests.

## Installation

To install the current release:

```shell
pip install pydoit-project-builder
```

**Dependencies**

In order to be use, the [doit](http://pydoit.org/) tool must be installed.


## First steps

Lets start a new project called `my-py-project` with the following structure:

```
my-py-project
├── docs
│ ├── conf.py
│ ├── index.rst
│ ├── static
│ └── templates
├── my_py_project
│ ├── __init__.py
│ ├── src_file_1.py
│ ├── src_file_2.py
│ └── ...
├── README.md
├── LICENSE
├── setup.cfg
├── setup.py
├── dodo.py
└── test
├── __init__.py
├── test_src_file_1.py
└── test_src_file_2.py
```

The `setup.py` should define on which library the project relies upon. The `dodo.py` file is the file used by the automation tool `doit` to generate command line to be used in a terminal. Its content must be:
```python
"""Define tasks to be used by the library pydoit."""
from pydoit_project_builder import TaskCreator

# Define project parameters.
project_name = "pydoit_project_builder"
python_version = "3.6"
# Instantiate tasks for pydoit library.
task_creator = TaskCreator(
project_name=project_name, python_version=python_version)
list_callbacks = task_creator.get_all_tasks()
for callback in list_callbacks:
fn_name = callback.__name__
globals()["task_" + fn_name] = callback
```

In the shell, in the folder containing the `dodo.py` file, enter the command `doit list` to see the list of available tasks.


## License

[Apache License 2.0](LICENSE)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydoit-project-builder-0.1.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydoit_project_builder-0.1.0-py2.py3-none-any.whl (11.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pydoit-project-builder-0.1.0.tar.gz.

File metadata

  • Download URL: pydoit-project-builder-0.1.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for pydoit-project-builder-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f9c73d4f700449e3dd176cd705eb3e491138aa7afe0931eae83c22cab15cd90e
MD5 70cb8e749454a3e8115b094d0f595503
BLAKE2b-256 c82fb3492e918febb335b66ab8471de52740d0db71714a9c2ab4f06ec1dda592

See more details on using hashes here.

File details

Details for the file pydoit_project_builder-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: pydoit_project_builder-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for pydoit_project_builder-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9417ecabca5f5409d3ce43c240a8656cc799a68150ab0d7d708f1321b4d3c495
MD5 5c6274dd4949375fa0a68450a24e7a8f
BLAKE2b-256 ff3f22922316499db866bb40585bf9f2d09d8d48f678c6a387cb95add3082851

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page