Pydantic-forms engine.
Project description
Pydantic forms
A Python package that lets you add smart forms to FastAPI and Flask. Forms will respond with a JSON scheme that contains all info needed in a React frontend with uniforms to render the forms and handle all validation tasks.
Forms can also consist out of a wizard, so you can create complex form flows consisting out of multiple consecutive forms. The forms and the validation logic are defined by using Pydantic models.
Documentation regarding the usage of Forms can be found here
Installation (Development standalone)
Install the project and its dependencies to develop on the code.
Step 1 - install flit:
python3 -m venv venv
source venv/bin/activate
pip install flit
Step 2 - install the development code:
flit install --deps develop --symlink --python venv/bin/python
!!! danger
Make sure to use the flit binary that is installed in your environment. You can check the correct
path by running
shell which flit
To be sure that the packages will be installed against the correct venv you can also prepend the python interpreter that you want to use:
flit install --deps develop --symlink --python venv/bin/python
Running tests
Run the unit-test suite to verify a correct setup.
Step 2 - Run tests
pytest tests/unit_tests
or with xdist:
pytest -n auto tests/unit_tests
If you do not encounter any failures in the test, you should be able to develop features in the pydantic-forms.
Installation (Development symlinked into project that use pydantic-forms)
If you are working on a project that already uses the pydantic-forms
and you want to test your new form features
against it, you can use some flit
magic to symlink the dev version of the forms to your project. It will
automatically replace the pypi dep with a symlink to the development version
of the core and update/downgrade all required packages in your own project.
Step 1 - install flit:
python - m venv venv
source venv/bin/activate
pip install flit
Step 2 - symlink the core to your own project
flit install --deps develop --symlink --python /path/to/a/project/venv/bin/python
Increasing the version number for a (pre) release.
When your PR is accepted you will get a version number.
You can do the necessary change with a clean, e.g. every change committed, branch:
bumpversion patch --new-version 0.0.1
Note: specifying it like this, instead of relying on bumpversion itself to increase the version, allows you to set a "RC1" version if needed.
Debugging Form behaviour
If you want/need the traceback of pydantic in a Form response you can add an env variable:
PYDANTIC_FORMS_LOGLEVEL=DEBUG
This will add the traceback to the JSONResponse
. If the loglevel is set to DEBUG the library will also add the
traceback to the logger.
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 pydantic_forms-1.1.1rc1.tar.gz
.
File metadata
- Download URL: pydantic_forms-1.1.1rc1.tar.gz
- Upload date:
- Size: 36.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd2c60e107702cffed697d857f94c5104bea6f819501b1d0d49073ee8f76a575 |
|
MD5 | c3fae3e5d2f486094744e7d21c803fdb |
|
BLAKE2b-256 | 4228b01882bfa5d69b33ebd6e5dfac1f943c3b10158842f9f6874dc55bcea534 |
File details
Details for the file pydantic_forms-1.1.1rc1-py3-none-any.whl
.
File metadata
- Download URL: pydantic_forms-1.1.1rc1-py3-none-any.whl
- Upload date:
- Size: 37.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29388715f4a376fdcee6922719b82419bf138fccad2a1715dc196136abcceeb8 |
|
MD5 | a6c90b4df22758761cd64037ecac7f3e |
|
BLAKE2b-256 | b038ac414784ab595b7584bea30a589091237e3491ce7ff91c6cd07eeaac04d2 |