External plugin for PyBuilder to generate a web service project structure
Project description
PyBuilder Archetype API Plugin
This plugin generates a structure for a project that requieres endpoints (APIs or web services). This plugin needs
pybuilder_archetype_base due to its dependancy with one of its
tasks (create_archetype_api
).
In the following diagram there is every directory and file created during create_archetype_api
execution (take note
that create_archetype_base
task will add more packages and directories -check its README.md
file for more
information):
src
└── package_name
├── api # For every script related with the web services
| ├── __init__.py
| └── api_example.py
├── config
| ├── __init__.py
| └── constants.py
├── __init__.py
├── gunicorn_config.py # Gunicorn launching configuration
├── main.py # Script with Flask app
└── wsgi.py # WSGI file for server launch
requirements.txt
Content from requirements.txt
and constants.py
files will be added to the currently existing ones, trying to keep
the values set by other plugins.
How to use pybuilder_archetype_api
NOTICE: This plugin only works on Windows due to its dependency with pybuilder_archetype_base PyBuilder plugin. Using this plugin in other OS shall not work properly. Multi-platform support soon.
Add plugin dependencies to your build.py
(it requires pybuilder_archetype_base and pybuilder_pycharm_workspace
to work properly):
use_plugin('pypi:pybuilder_pycharm_workspace')
use_plugin('pypi:pybuilder_archetype_base')
use_plugin('pypi:pybuilder_archetype_api')
Configure the plugin within your init
function:
@init
def initialise(project):
project.set_property('project_base_path', project_path)
This will tell the plugin which is the project location in the filesystem. project_base_path
property value should
be always the same.
Launch the task with:
(venv) C:\Users\foo\PycharmProjects\bar> pyb create_archetype_api
build.py
file recommended
Check pybuilder_archetype_base build.py
recommendation.
Properties
Plugin has next properties with provided defaults
Name | Type | Default Value | Description |
---|---|---|---|
project_base_path | Path | None | Project's path in filesystem (same as build.py file). Mandatory |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pybuilder-archetype-api-0.1.1.tar.gz
.
File metadata
- Download URL: pybuilder-archetype-api-0.1.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1e7efb4f390e5277d2bb7cd1ceaa64b1bfb454fc1413a7969abdc51c8b8aab7 |
|
MD5 | 07b11033c2e2b45597fdf919563bd975 |
|
BLAKE2b-256 | c200f39595e569b89786f0f28cf520a666788ea7762d09d1a202952c30279840 |
File details
Details for the file pybuilder_archetype_api-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: pybuilder_archetype_api-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d82aa3dfdd53d4212629131d5a69a15ef94869d5b5026837e9526f5ff7d5bdc |
|
MD5 | 2e1d762aa906458ce07d7e77d0d95623 |
|
BLAKE2b-256 | 3d3ccbeea6ac27ddb455a01469b503ea832b26ba4a047d746781a291e1948998 |