Documentation¶
Python version¶
HardPy is based on the python 3.10 and supports versions 3.11, 3.12, 3.13.
HardPy structure¶
HardPy includes several parts.
HardPy CLI¶
HardPy CLI on a structural scheme.
- Entry point for HardPy.
- HardPy test bench creator.
- Launcher for operator panel.
- StandCloud authorization tool.
For more info, read CLI.
HardPy pytest plugin¶
HardPy includes the pytest-hardpy plugin for pytest. Compatible with pytest versions above 7. You can run tests not only through the operator panel but also through the pytest itself.
pytest-hardpy on a structural scheme.
- The pytest wrapper for running pytest from the HardPy operator panel.
- The pytest plugin with API for storing data in a database.
For more info, read pytest-hardpy.
HardPy operator panel¶
HardPy includes a React application - HardPy operator panel. It allows you to use a browser to view and interact with your tests and write test results to a database.
hardpy-panel on a structural scheme.
- Web interface for viewing tests and starting/stopping tests.
- FastAPI application for processing frontend commands.
- PouchDB - web database for synchronizing data from CouchDB and the hardpy operator panel.
For more info, read hardpy-panel.
CouchDB¶
HardPy uses CouchDB as its database but you can write final result to any database because CouchDB stores data in a simple document. Developers can create their adapter for any database and store the test report in a way that suits them. By default HardPy allows you to store all reports in CouchDB. HardPy is compatible with CouchDB versions above 3.2.
- Database to store current test data and store all test results.
For more info, read database.
Database adapter¶
- HardPy allows you to use a simple database adapter to store test results in CouchDB using the CouchdbLoader.
- HardPy allows you to use a StandCloud database adapter to store test results in StandCloud using the StandCloudLoader.
- A developer can create a database adapter to store test results in any database.
Structural scheme¶
