APG
Code generation tool, which helps you to start a project without pain.
Contents
Installation
pip install apg
Dependencies
- make
- docker
- docker-compose
- cookiecutter
- Click
- npm (for ReactJS projects)
Usage
Create a new project in the current directory:
$ apg init <framework_name>
Available frameworks:
- flask (Flask used as basis, we added webargs, Swagger, pytest and other handy stuff)
- aiohttp (AIOHTTP used as basis, but we completely reorganized it to look more like flask. Also added Swagger, webargs and so on)
- react (Only basic functionality of ReactJS application)
Once you've done that, commands listed below will be available
Flask project:
$ make dev # build application containers and run in developer mode
$ make build # build application containers
$ make up # run application in production mode
$ make stop # stop application and running containers
$ make db # initialize database
$ make migrate # create data migration for database
$ make bash # run bash shell inside application container
$ make shell # run pimped out python console
$ make dbshell # run databse console
$ make test # run autotests (all project files)
$ make test file=<folder_name> # to run all test files in folder
$ make test file=<folder_name>/<file_name> # to run all tests in single file
$ make test file=<folder_name>/<file_name>::<test_case_name> # to run single test case
AIOHTTP project:
$ make dev # build application containers and run in developer mode
$ make shell # run pimped out python console
$ make check # check apispec
$ make dbshell # run database console
$ make migrate # create data migration for database
$ make upgrade # apply data migrations to database
$ make test # run autotests (all project files)
$ make test file=<folder_name> # to run all test files in folder
$ make test file=<folder_name>/<file_name> # to run all tests in single file
$ make test file=<folder_name>/<file_name>::<test_case_name> # to run single test case
After you run
make devcommand The API documentation will be available (SwaggerUI)
- Flask - http://127.0.0.1:5000/api/doc/
- aiohttp - http://127.0.0.1:8080/api/doc/
React project:
$ npm start:dev # in standalone project start dev-server, otherwise compile project in dist folder and start watching it
$ npm build:prod # build production
Add a new module to the current project (current directory):
$ apg module <name>
Metadata
Release files for apg 0.4.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| apg-0.4.8.tar.gz | 9.1 MB | Without provenance | Details for apg-0.4.8.tar.gz |
Release files / apg-0.4.8.tar.gz
| Download URL | apg-0.4.8.tar.gz |
|---|---|
| Size | 9.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
12c32314e9ab485983aef63777324ed19ae18cb97d95aa651fd5f74400361e56
|
|
BLAKE2b-256 checksum How to use checksums |
2808c58a0eb32b525a0d56eddc989daf443f3027ccf3d8ff2139c14ac43b7b6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.18.4 setuptools/41.0.0 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/3.6.4
|
Security for apg 0.4.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.