testplans


Nametestplans JSON
Version 0.4.34 PyPI version JSON
download
home_pagehttps://github.com/centroid457/
Summarysimple testplan framework for several DUTs
upload_time2024-10-24 08:43:41
maintainerNone
docs_urlNone
authorAndrei Starichenko
requires_python>=3.6
licenseNone
keywords testplan testplan structure framework testplan gui testplan multy dut testplan several dut
VCS
bugtrack_url
requirements build twine setuptools cli_user pytest pytest_aux logger_aux object_info requirements_checker classes_aux funcs_aux singleton_meta annot_attrs numpy pyqt_templates server_templates private_values bus_user PyQt5 requests pydantic aiohttp FastAPI PyYAML uvicorn pyserial smbus2 cli_user
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Ver/TestedPython](https://img.shields.io/pypi/pyversions/testplans)
![Ver/Os](https://img.shields.io/badge/os_development-Windows-blue)  
![repo/Created](https://img.shields.io/github/created-at/centroid457/testplans)
![Commit/Last](https://img.shields.io/github/last-commit/centroid457/testplans)
![Tests/GitHubWorkflowStatus](https://github.com/centroid457/testplans/actions/workflows/test_linux.yml/badge.svg)
![Tests/GitHubWorkflowStatus](https://github.com/centroid457/testplans/actions/workflows/test_windows.yml/badge.svg)  
![repo/Size](https://img.shields.io/github/repo-size/centroid457/testplans)
![Commit/Count/t](https://img.shields.io/github/commit-activity/t/centroid457/testplans)
![Commit/Count/y](https://img.shields.io/github/commit-activity/y/centroid457/testplans)
![Commit/Count/m](https://img.shields.io/github/commit-activity/m/centroid457/testplans)

# testplans (current v0.4.34/![Ver/Pypi Latest](https://img.shields.io/pypi/v/testplans?label=pypi%20latest))

## DESCRIPTION_SHORT
simple testplan framework for several DUTs

## DESCRIPTION_LONG
designed to apply testplan for several DUTs

## ПОНЯТИЯ
    TC - TestCase
    TP - TestPlan
    DUT - Device Under Test - тестируемое устройство

## АРХИТЕКТУРА
- тестплан
    - работает в потоке,
    - может быть остановлен в любой момент terminate(), при этом завершает все запущенные тесткейсы
    - имеет настройки которые принимаются всеми тесткейсами за базовые и могут быть перезаписаны ими для себя
    - имеет списки классов TC и обьектов DUT (генерирует обьекты TC для каждого DUT)
    - для себя не разделяет обьекты тесткейсов, работает строго с классом тесткейса,
    - выполняет все тесткейсы в порядке их следования на списке DUT
    - в один момент времени выполняется только один класс тесткейса
- тесткейсы
    - работают в потоке,
    - может быть остановлен в любой момент terminate(), при этом завершаются безопасно (исполняются все teardown обьектов и глобальный классовый тесткейса), 
    - представляет собой класс инициируемый с входным параметром DUT,
    - выполняются тесткейсы строго по очереди,
    - каждый тесткейс выполняется на всех устройствах либо асинхронно, либо синхронно в зависимости от настройки,
    - работа тесткейса полностью управляется классом тесткейса на серии устройств (возможно выполнение парных тестов с выбором нужных пар внутри тесткейса),
- результаты
    - все результаты находятся в пока в обьекте тесткейса
    - итогового (result)
    - промежуточных результатов (details)
- настройки
    - управление
        - SKIP всех возможных вариантов (полностью тесткейс для всех устройств, полностью DUT для всех TC, отдельный TC на отдельном DUT),
        - выполнение тесткейса синхронно/асинхронно
    - данные для использования в тесткейсах
        - реализовано в файлах JSON
        - для каждого тесткейса и общие для тестплана (кейсовые накладываются на плановые)
- GUI тестплана
    - запуск GUI опциональный,
    - старт/стоп тестплана,
    - отображение текущего тесткейса,
    - отображение результата тескейса на каждом тестируемом устройстве,
    - отображение промежуточных результатов (details)
- API 
    - минимальное API и запуск


## Features
1. [THREADS]:  
	- safe work in independent TCs  
	- safe stop process at any moment by terminate  
2. [SKIP]:  
	- tc  
	- tc on dut  
	- dut  
3. [DEVICES__BREEDER_INST]:  
	- keep all in one instance  
	- use variants: single device for all duts or list for pairing each dut  


********************************************************************************
## License
See the [LICENSE](LICENSE) file for license rights and limitations (MIT).


## Release history
See the [HISTORY.md](HISTORY.md) file for release history.


## Installation
```commandline
pip install testplans
```


## Import
```python
from testplans import *
```


********************************************************************************
## USAGE EXAMPLES
See tests, sourcecode and docstrings for other examples.  

********************************************************************************

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/centroid457/",
    "name": "testplans",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "testplan, testplan structure framework, testplan gui, testplan multy dut, testplan several dut",
    "author": "Andrei Starichenko",
    "author_email": "centroid@mail.ru",
    "download_url": "https://files.pythonhosted.org/packages/74/03/a42258ebddfa8a459cb59b53380a57172ecdf93ae6936e607fff8938d945/testplans-0.4.34.tar.gz",
    "platform": null,
    "description": "![Ver/TestedPython](https://img.shields.io/pypi/pyversions/testplans)\r\n![Ver/Os](https://img.shields.io/badge/os_development-Windows-blue)  \r\n![repo/Created](https://img.shields.io/github/created-at/centroid457/testplans)\r\n![Commit/Last](https://img.shields.io/github/last-commit/centroid457/testplans)\r\n![Tests/GitHubWorkflowStatus](https://github.com/centroid457/testplans/actions/workflows/test_linux.yml/badge.svg)\r\n![Tests/GitHubWorkflowStatus](https://github.com/centroid457/testplans/actions/workflows/test_windows.yml/badge.svg)  \r\n![repo/Size](https://img.shields.io/github/repo-size/centroid457/testplans)\r\n![Commit/Count/t](https://img.shields.io/github/commit-activity/t/centroid457/testplans)\r\n![Commit/Count/y](https://img.shields.io/github/commit-activity/y/centroid457/testplans)\r\n![Commit/Count/m](https://img.shields.io/github/commit-activity/m/centroid457/testplans)\r\n\r\n# testplans (current v0.4.34/![Ver/Pypi Latest](https://img.shields.io/pypi/v/testplans?label=pypi%20latest))\r\n\r\n## DESCRIPTION_SHORT\r\nsimple testplan framework for several DUTs\r\n\r\n## DESCRIPTION_LONG\r\ndesigned to apply testplan for several DUTs\r\n\r\n## \u041f\u041e\u041d\u042f\u0422\u0418\u042f\r\n    TC - TestCase\r\n    TP - TestPlan\r\n    DUT - Device Under Test - \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\r\n\r\n## \u0410\u0420\u0425\u0418\u0422\u0415\u041a\u0422\u0423\u0420\u0410\r\n- \u0442\u0435\u0441\u0442\u043f\u043b\u0430\u043d\r\n    - \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043f\u043e\u0442\u043e\u043a\u0435,\r\n    - \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0432 \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 terminate(), \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442 \u0432\u0441\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u044b\r\n    - \u0438\u043c\u0435\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430\u043c\u0438 \u0437\u0430 \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0438\u043c\u0438 \u0434\u043b\u044f \u0441\u0435\u0431\u044f\r\n    - \u0438\u043c\u0435\u0435\u0442 \u0441\u043f\u0438\u0441\u043a\u0438 \u043a\u043b\u0430\u0441\u0441\u043e\u0432 TC \u0438 \u043e\u0431\u044c\u0435\u043a\u0442\u043e\u0432 DUT (\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043e\u0431\u044c\u0435\u043a\u0442\u044b TC \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e DUT)\r\n    - \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u043d\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u0442 \u043e\u0431\u044c\u0435\u043a\u0442\u044b \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u0433\u043e \u0441 \u043a\u043b\u0430\u0441\u0441\u043e\u043c \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430,\r\n    - \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0432\u0441\u0435 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u044b \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0438\u0445 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0441\u043f\u0438\u0441\u043a\u0435 DUT\r\n    - \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u043a\u043b\u0430\u0441\u0441 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430\r\n- \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u044b\r\n    - \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043f\u043e\u0442\u043e\u043a\u0435,\r\n    - \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0432 \u043b\u044e\u0431\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 terminate(), \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u044e\u0442\u0441\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e (\u0438\u0441\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0432\u0441\u0435 teardown \u043e\u0431\u044c\u0435\u043a\u0442\u043e\u0432 \u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441\u043e\u0432\u044b\u0439 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430), \r\n    - \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043a\u043b\u0430\u0441\u0441 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u0441 \u0432\u0445\u043e\u0434\u043d\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c DUT,\r\n    - \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u044b \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438,\r\n    - \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0441\u0435\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u043b\u0438\u0431\u043e \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e, \u043b\u0438\u0431\u043e \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438,\r\n    - \u0440\u0430\u0431\u043e\u0442\u0430 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043b\u0430\u0441\u0441\u043e\u043c \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430 \u043d\u0430 \u0441\u0435\u0440\u0438\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u043d\u0443\u0436\u043d\u044b\u0445 \u043f\u0430\u0440 \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430),\r\n- \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b\r\n    - \u0432\u0441\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043f\u043e\u043a\u0430 \u0432 \u043e\u0431\u044c\u0435\u043a\u0442\u0435 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430\r\n    - \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e (result)\r\n    - \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 (details)\r\n- \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\r\n    - \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\r\n        - SKIP \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 (\u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e DUT \u0434\u043b\u044f \u0432\u0441\u0435\u0445 TC, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 TC \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c DUT),\r\n        - \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e/\u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\r\n    - \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430\u0445\r\n        - \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 JSON\r\n        - \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430 \u0438 \u043e\u0431\u0449\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043f\u043b\u0430\u043d\u0430 (\u043a\u0435\u0439\u0441\u043e\u0432\u044b\u0435 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u043f\u043b\u0430\u043d\u043e\u0432\u044b\u0435)\r\n- GUI \u0442\u0435\u0441\u0442\u043f\u043b\u0430\u043d\u0430\r\n    - \u0437\u0430\u043f\u0443\u0441\u043a GUI \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439,\r\n    - \u0441\u0442\u0430\u0440\u0442/\u0441\u0442\u043e\u043f \u0442\u0435\u0441\u0442\u043f\u043b\u0430\u043d\u0430,\r\n    - \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0442\u0435\u0441\u0442\u043a\u0435\u0439\u0441\u0430,\r\n    - \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0442\u0435\u0441\u043a\u0435\u0439\u0441\u0430 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435,\r\n    - \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 (details)\r\n- API \r\n    - \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 API \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\r\n\r\n\r\n## Features\r\n1. [THREADS]:  \r\n\t- safe work in independent TCs  \r\n\t- safe stop process at any moment by terminate  \r\n2. [SKIP]:  \r\n\t- tc  \r\n\t- tc on dut  \r\n\t- dut  \r\n3. [DEVICES__BREEDER_INST]:  \r\n\t- keep all in one instance  \r\n\t- use variants: single device for all duts or list for pairing each dut  \r\n\r\n\r\n********************************************************************************\r\n## License\r\nSee the [LICENSE](LICENSE) file for license rights and limitations (MIT).\r\n\r\n\r\n## Release history\r\nSee the [HISTORY.md](HISTORY.md) file for release history.\r\n\r\n\r\n## Installation\r\n```commandline\r\npip install testplans\r\n```\r\n\r\n\r\n## Import\r\n```python\r\nfrom testplans import *\r\n```\r\n\r\n\r\n********************************************************************************\r\n## USAGE EXAMPLES\r\nSee tests, sourcecode and docstrings for other examples.  \r\n\r\n********************************************************************************\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "simple testplan framework for several DUTs",
    "version": "0.4.34",
    "project_urls": {
        "Homepage": "https://github.com/centroid457/",
        "Source": "https://github.com/centroid457/testplans"
    },
    "split_keywords": [
        "testplan",
        " testplan structure framework",
        " testplan gui",
        " testplan multy dut",
        " testplan several dut"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57a41b9ec2cd54710e11f60b18de7cc2d805b4d96ea96f0bc108fcf9b676dad2",
                "md5": "f2ead3eead7592b79c24a348c66a9ff1",
                "sha256": "c36b2883e14bc87fe6fd950524b4a90c05c5ef7523fdad3a4fa3abc933dad7ed"
            },
            "downloads": -1,
            "filename": "testplans-0.4.34-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f2ead3eead7592b79c24a348c66a9ff1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 22153,
            "upload_time": "2024-10-24T08:43:40",
            "upload_time_iso_8601": "2024-10-24T08:43:40.553328Z",
            "url": "https://files.pythonhosted.org/packages/57/a4/1b9ec2cd54710e11f60b18de7cc2d805b4d96ea96f0bc108fcf9b676dad2/testplans-0.4.34-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7403a42258ebddfa8a459cb59b53380a57172ecdf93ae6936e607fff8938d945",
                "md5": "04d13ba4881d4f64e62a2a45ce2b898a",
                "sha256": "3cf5a0eaf504add52b1c5ca5b15c7c484d3e551af4abe59cb215f51d6a4bf465"
            },
            "downloads": -1,
            "filename": "testplans-0.4.34.tar.gz",
            "has_sig": false,
            "md5_digest": "04d13ba4881d4f64e62a2a45ce2b898a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 22113,
            "upload_time": "2024-10-24T08:43:41",
            "upload_time_iso_8601": "2024-10-24T08:43:41.759638Z",
            "url": "https://files.pythonhosted.org/packages/74/03/a42258ebddfa8a459cb59b53380a57172ecdf93ae6936e607fff8938d945/testplans-0.4.34.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-24 08:43:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "centroid457",
    "github_project": "testplans",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "build",
            "specs": []
        },
        {
            "name": "twine",
            "specs": []
        },
        {
            "name": "setuptools",
            "specs": []
        },
        {
            "name": "cli_user",
            "specs": []
        },
        {
            "name": "pytest",
            "specs": []
        },
        {
            "name": "pytest_aux",
            "specs": []
        },
        {
            "name": "logger_aux",
            "specs": []
        },
        {
            "name": "object_info",
            "specs": []
        },
        {
            "name": "requirements_checker",
            "specs": []
        },
        {
            "name": "classes_aux",
            "specs": []
        },
        {
            "name": "funcs_aux",
            "specs": []
        },
        {
            "name": "singleton_meta",
            "specs": []
        },
        {
            "name": "annot_attrs",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "pyqt_templates",
            "specs": []
        },
        {
            "name": "server_templates",
            "specs": []
        },
        {
            "name": "private_values",
            "specs": []
        },
        {
            "name": "bus_user",
            "specs": []
        },
        {
            "name": "PyQt5",
            "specs": []
        },
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "pydantic",
            "specs": []
        },
        {
            "name": "aiohttp",
            "specs": []
        },
        {
            "name": "FastAPI",
            "specs": []
        },
        {
            "name": "PyYAML",
            "specs": []
        },
        {
            "name": "uvicorn",
            "specs": []
        },
        {
            "name": "pyserial",
            "specs": []
        },
        {
            "name": "smbus2",
            "specs": []
        },
        {
            "name": "cli_user",
            "specs": []
        }
    ],
    "lcname": "testplans"
}
        
Elapsed time: 4.49759s