---
<p align="center">
<img alt="logo" width="300" src=".github/images/logo.png">
</p>
# succulent - Collect POST requests easily
---
![PyPI Version](https://img.shields.io/pypi/v/succulent.svg)
[![Documentation Status](https://readthedocs.org/projects/succulent/badge/?version=latest)](https://succulent.readthedocs.io/en/latest/?badge=latest)
![PyPI - Downloads](https://img.shields.io/pypi/dm/succulent.svg)
[![Downloads](https://static.pepy.tech/badge/succulent)](https://pepy.tech/project/succulent)
![GitHub repo size](https://img.shields.io/github/repo-size/firefly-cpp/succulent?style=flat-square)
[![GitHub license](https://img.shields.io/github/license/firefly-cpp/succulent.svg)](https://github.com/firefly-cpp/succulent/blob/master/LICENSE)
![GitHub commit activity](https://img.shields.io/github/commit-activity/w/firefly-cpp/succulent.svg)
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/firefly-cpp/succulent.svg)](http://isitmaintained.com/project/firefly-cpp/succulent "Average time to resolve an issue")
[![Percentage of issues still open](http://isitmaintained.com/badge/open/firefly-cpp/succulent.svg)](http://isitmaintained.com/project/firefly-cpp/succulent "Percentage of issues still open")
[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-)
[![AUR package](https://img.shields.io/aur/version/python-succulent?color=blue&label=Arch%20Linux&logo=arch-linux)](https://aur.archlinux.org/packages/python-succulent)
[![Fedora package](https://img.shields.io/fedora/v/python3-succulent?color=blue&label=Fedora%20Linux&logo=fedora)](https://src.fedoraproject.org/rpms/python-succulent)
[![Packaging status](https://repology.org/badge/tiny-repos/python:succulent.svg)](https://repology.org/project/python:succulent/versions)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10402365.svg)](https://doi.org/10.5281/zenodo.10402365)
* **Free software:** MIT license
* **Documentation:** [https://succulent.readthedocs.io/en/latest/](https://succulent.readthedocs.io/en/latest/)
* **Python versions:** 3.8.x, 3.9.x, 3.10.x, 3.11.x, 3.12.x
* **Tested OS:** Windows, Ubuntu, Fedora, Alpine, Arch, macOS. **However, that does not mean it does not work on others**
## About :information_source:
Do you ever find it challenging and tricky to send sensor measurements :straight_ruler:, data :bar_chart:, or GPS positions from embedded devices :iphone:, microcontrollers, and [smartwatches](https://github.com/firefly-cpp/AST-Monitor) to a central server? :satellite: Setting up the primary data collection scripts can be a time-consuming :hourglass_flowing_sand: process, involving selecting a protocol, framework, API, and testing them out. Moreover, these scripts are often tailored for specific tasks, making them difficult to adapt to different scenarios.
But fear not! Introducing succulent π΅, a pure Python framework that simplifies the configuration, management, collection, and preprocessing of data collected via POST requests. This framework draws inspiration from real-world data collection challenges in [smart agriculture](https://github.com/firefly-cpp/smart-agriculture-datasets/tree/main/plant-monitoring-esp32) :brain::herb:, specifically plant monitoring using ESP32 devices. The main goal behind succulent is to streamline the process of configuring various data parameters and provide a range of useful functions for data transformations. By leveraging succulent, you can set up your entire data collection endpoint within minutes, freeing you from the hassle of dealing with server-side scripts.:rocket::wrench:
## Detailed Insights :mag:
The current version of succulent comes packed with exciting features, including, but not limited to:
- **Hassle-free generation of request URLs** for seamless data collection π
- **Effortless data retrieval** from POST requests π₯
- **Versatile data storage options**, such as CSV, JSON, SQLite, and even images ποΈππΌοΈ
- **Customizable boundaries for collected data**, allowing you to set minimum and maximum thresholds βοΈ
With succulent, the process of collecting, managing, and preprocessing data becomes a breeze, empowering you to focus on what truly mattersβgaining valuable insights from your embedded devices, microcontrollers, and smartwatches. β So why waste precious time? β³ Dive into the world of succulent and unlock the true potential of your data! πͺπ
## Installation
### pip
Install succulent with pip:
```sh
pip install succulent
```
### Alpine Linux
To install succulent on Alpine Linux, please use:
```sh
$ apk add py3-succulent
```
### Arch Linux
To install succulent on Arch Linux, please use an [AUR helper](https://wiki.archlinux.org/title/AUR_helpers):
```sh
$ yay -Syyu python-succulent
```
### Fedora Linux
To install succulent on Fedora, use:
```sh
$ dnf install python3-succulent
```
## Container
[Basic container for succulent](https://github.com/firefly-cpp/succulent-container)
### Configuration
Follow the instructions in the [configuration](##configuration) section to define the configuration file.
### Installation
Build the container using Docker:
```bash
docker build -t succulent-container .
```
Alternatively, you can use ``docker-compose``:
```bash
docker compose build
```
### Usage
Run the container using Docker:
```bash
docker run -p 8080:8080 succulent-container
```
Alternatively, you can use ``docker-compose``:
```bash
docker compose up
```
## Usage
### Example
```python
from succulent.api import SucculentAPI
api = SucculentAPI(host='0.0.0.0', port=8080, config='configuration.yml', format='csv')
api.start()
```
## Configuration
### Data collection
In the root directory, create a file named `configuration.yml` and define the following:
```yml
data:
- name: # Measure name
min: # Minimum value (optional)
max: # Maximum value (optional)
```
To collect images, create a file named ``configuration.yml`` in the root directory and define the following:
```yml
data:
- key: # Key in POST request
```
To access the URL for data collection, send a GET request or navigate to [http://localhost:8080/measure](http://localhost:8080/measure).
### Data access
To access data via the Succulent API, enable the results in the configuration file:
```yml
results:
enabled: true # false by default
```
To access the collected data, send a GET request or navigate to [http://localhost:8080/data](http://localhost:8080/data).
### Data export
To export the data, enable the export in the configuration file:
```yml
results:
export:
enabled: true # false by default
```
To export the data, send a GET request or navigate to [http://localhost:8080/export](http://localhost:8080/export).
## License
This package is distributed under the MIT License. This license can be found online at <http://www.opensource.org/licenses/MIT>.
## Disclaimer
This framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!
## Contributors β¨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lahovniktadej"><img src="https://avatars.githubusercontent.com/u/57890734?v=4?s=100" width="100px;" alt="Tadej Lahovnik"/><br /><sub><b>Tadej Lahovnik</b></sub></a><br /><a href="https://github.com/firefly-cpp/succulent/commits?author=lahovniktadej" title="Code">π»</a> <a href="https://github.com/firefly-cpp/succulent/issues?q=author%3Alahovniktadej" title="Bug reports">π</a> <a href="#ideas-lahovniktadej" title="Ideas, Planning, & Feedback">π€</a> <a href="https://github.com/firefly-cpp/succulent/commits?author=lahovniktadej" title="Documentation">π</a> <a href="#tutorial-lahovniktadej" title="Tutorials">β
</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/AyanDas348"><img src="https://avatars.githubusercontent.com/u/53610626?v=4?s=100" width="100px;" alt="Ayan Das"/><br /><sub><b>Ayan Das</b></sub></a><br /><a href="https://github.com/firefly-cpp/succulent/commits?author=AyanDas348" title="Code">π»</a> <a href="https://github.com/firefly-cpp/succulent/commits?author=AyanDas348" title="Tests">β οΈ</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://www.iztok-jr-fister.eu/"><img src="https://avatars.githubusercontent.com/u/1633361?v=4?s=100" width="100px;" alt="Iztok Fister Jr."/><br /><sub><b>Iztok Fister Jr.</b></sub></a><br /><a href="https://github.com/firefly-cpp/succulent/commits?author=firefly-cpp" title="Code">π»</a> <a href="#ideas-firefly-cpp" title="Ideas, Planning, & Feedback">π€</a> <a href="#mentoring-firefly-cpp" title="Mentoring">π§βπ«</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://carlosal1015.github.io"><img src="https://avatars.githubusercontent.com/u/21283014?v=4?s=100" width="100px;" alt="Oromion"/><br /><sub><b>Oromion</b></sub></a><br /><a href="https://github.com/firefly-cpp/succulent/issues?q=author%3Acarlosal1015" title="Bug reports">π</a> <a href="#platform-carlosal1015" title="Packaging/porting to new platform">π¦</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rhododendrom"><img src="https://avatars.githubusercontent.com/u/3198785?v=4?s=100" width="100px;" alt="rhododendrom"/><br /><sub><b>rhododendrom</b></sub></a><br /><a href="#design-rhododendrom" title="Design">π¨</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/zala-lahovnik"><img src="https://avatars.githubusercontent.com/u/105444201?v=4?s=100" width="100px;" alt="Zala Lahovnik"/><br /><sub><b>Zala Lahovnik</b></sub></a><br /><a href="https://github.com/firefly-cpp/succulent/commits?author=zala-lahovnik" title="Documentation">π</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
Raw data
{
"_id": null,
"home_page": "https://github.com/firefly-cpp/succulent",
"name": "succulent",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "data collection,data science,ESP32,sensor measurements,smart agriculture,smartwatch",
"author": "Iztok Fister Jr.",
"author_email": "iztok@iztok-jr-fister.eu",
"download_url": "https://files.pythonhosted.org/packages/85/e7/a01c1cc966ee0fa4bd06b2fb10b30ba5206960dfbb42b93a9d7b6b20dbf7/succulent-0.3.3.tar.gz",
"platform": null,
"description": "---\n<p align=\"center\">\n <img alt=\"logo\" width=\"300\" src=\".github/images/logo.png\">\n</p>\n\n\n# succulent - Collect POST requests easily\n\n---\n![PyPI Version](https://img.shields.io/pypi/v/succulent.svg)\n[![Documentation Status](https://readthedocs.org/projects/succulent/badge/?version=latest)](https://succulent.readthedocs.io/en/latest/?badge=latest)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/succulent.svg)\n[![Downloads](https://static.pepy.tech/badge/succulent)](https://pepy.tech/project/succulent)\n![GitHub repo size](https://img.shields.io/github/repo-size/firefly-cpp/succulent?style=flat-square)\n[![GitHub license](https://img.shields.io/github/license/firefly-cpp/succulent.svg)](https://github.com/firefly-cpp/succulent/blob/master/LICENSE)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/w/firefly-cpp/succulent.svg)\n[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/firefly-cpp/succulent.svg)](http://isitmaintained.com/project/firefly-cpp/succulent \"Average time to resolve an issue\")\n[![Percentage of issues still open](http://isitmaintained.com/badge/open/firefly-cpp/succulent.svg)](http://isitmaintained.com/project/firefly-cpp/succulent \"Percentage of issues still open\")\n[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors-)\n[![AUR package](https://img.shields.io/aur/version/python-succulent?color=blue&label=Arch%20Linux&logo=arch-linux)](https://aur.archlinux.org/packages/python-succulent)\n[![Fedora package](https://img.shields.io/fedora/v/python3-succulent?color=blue&label=Fedora%20Linux&logo=fedora)](https://src.fedoraproject.org/rpms/python-succulent)\n[![Packaging status](https://repology.org/badge/tiny-repos/python:succulent.svg)](https://repology.org/project/python:succulent/versions)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10402365.svg)](https://doi.org/10.5281/zenodo.10402365)\n\n* **Free software:** MIT license\n* **Documentation:** [https://succulent.readthedocs.io/en/latest/](https://succulent.readthedocs.io/en/latest/)\n* **Python versions:** 3.8.x, 3.9.x, 3.10.x, 3.11.x, 3.12.x\n* **Tested OS:** Windows, Ubuntu, Fedora, Alpine, Arch, macOS. **However, that does not mean it does not work on others**\n\n## About :information_source:\n\nDo you ever find it challenging and tricky to send sensor measurements :straight_ruler:, data :bar_chart:, or GPS positions from embedded devices :iphone:, microcontrollers, and [smartwatches](https://github.com/firefly-cpp/AST-Monitor) to a central server? :satellite: Setting up the primary data collection scripts can be a time-consuming :hourglass_flowing_sand: process, involving selecting a protocol, framework, API, and testing them out. Moreover, these scripts are often tailored for specific tasks, making them difficult to adapt to different scenarios.\n\nBut fear not! Introducing succulent \ud83c\udf35, a pure Python framework that simplifies the configuration, management, collection, and preprocessing of data collected via POST requests. This framework draws inspiration from real-world data collection challenges in [smart agriculture](https://github.com/firefly-cpp/smart-agriculture-datasets/tree/main/plant-monitoring-esp32) :brain::herb:, specifically plant monitoring using ESP32 devices. The main goal behind succulent is to streamline the process of configuring various data parameters and provide a range of useful functions for data transformations. By leveraging succulent, you can set up your entire data collection endpoint within minutes, freeing you from the hassle of dealing with server-side scripts.:rocket::wrench:\n\n## Detailed Insights :mag:\n\nThe current version of succulent comes packed with exciting features, including, but not limited to:\n\n- **Hassle-free generation of request URLs** for seamless data collection \ud83c\udf10\n- **Effortless data retrieval** from POST requests \ud83d\udce5\n- **Versatile data storage options**, such as CSV, JSON, SQLite, and even images \ud83d\uddc2\ufe0f\ud83d\udcca\ud83d\uddbc\ufe0f\n- **Customizable boundaries for collected data**, allowing you to set minimum and maximum thresholds \u2699\ufe0f\n\nWith succulent, the process of collecting, managing, and preprocessing data becomes a breeze, empowering you to focus on what truly matters\u2014gaining valuable insights from your embedded devices, microcontrollers, and smartwatches. \u231a So why waste precious time? \u23f3 Dive into the world of succulent and unlock the true potential of your data! \ud83d\udcaa\ud83d\udcc8\n\n## Installation\n\n### pip\n\nInstall succulent with pip:\n\n```sh\npip install succulent\n```\n### Alpine Linux\n\nTo install succulent on Alpine Linux, please use:\n\n```sh\n$ apk add py3-succulent\n```\n\n### Arch Linux\n\nTo install succulent on Arch Linux, please use an [AUR helper](https://wiki.archlinux.org/title/AUR_helpers):\n\n```sh\n$ yay -Syyu python-succulent\n```\n\n### Fedora Linux\n\nTo install succulent on Fedora, use:\n\n```sh\n$ dnf install python3-succulent\n```\n\n## Container\n\n[Basic container for succulent](https://github.com/firefly-cpp/succulent-container)\n\n### Configuration\nFollow the instructions in the [configuration](##configuration) section to define the configuration file.\n\n### Installation\nBuild the container using Docker:\n```bash\ndocker build -t succulent-container .\n```\n\nAlternatively, you can use ``docker-compose``:\n```bash\ndocker compose build\n```\n\n### Usage\nRun the container using Docker:\n```bash\ndocker run -p 8080:8080 succulent-container\n```\n\nAlternatively, you can use ``docker-compose``:\n```bash\ndocker compose up\n```\n\n## Usage\n\n### Example\n\n```python\nfrom succulent.api import SucculentAPI\napi = SucculentAPI(host='0.0.0.0', port=8080, config='configuration.yml', format='csv')\napi.start()\n```\n\n## Configuration\n### Data collection\nIn the root directory, create a file named `configuration.yml` and define the following:\n```yml\ndata:\n - name: # Measure name\n min: # Minimum value (optional)\n max: # Maximum value (optional)\n```\n\nTo collect images, create a file named ``configuration.yml`` in the root directory and define the following:\n```yml\ndata:\n - key: # Key in POST request\n```\n\nTo access the URL for data collection, send a GET request or navigate to [http://localhost:8080/measure](http://localhost:8080/measure).\n\n### Data access\nTo access data via the Succulent API, enable the results in the configuration file:\n```yml\nresults:\n enabled: true # false by default\n```\n\nTo access the collected data, send a GET request or navigate to [http://localhost:8080/data](http://localhost:8080/data).\n\n### Data export\nTo export the data, enable the export in the configuration file:\n```yml\nresults:\n export:\n enabled: true # false by default\n```\n\nTo export the data, send a GET request or navigate to [http://localhost:8080/export](http://localhost:8080/export).\n\n\n## License\n\nThis package is distributed under the MIT License. This license can be found online at <http://www.opensource.org/licenses/MIT>.\n\n## Disclaimer\n\nThis framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!\n\n## Contributors \u2728\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/lahovniktadej\"><img src=\"https://avatars.githubusercontent.com/u/57890734?v=4?s=100\" width=\"100px;\" alt=\"Tadej Lahovnik\"/><br /><sub><b>Tadej Lahovnik</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/succulent/commits?author=lahovniktadej\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/firefly-cpp/succulent/issues?q=author%3Alahovniktadej\" title=\"Bug reports\">\ud83d\udc1b</a> <a href=\"#ideas-lahovniktadej\" title=\"Ideas, Planning, & Feedback\">\ud83e\udd14</a> <a href=\"https://github.com/firefly-cpp/succulent/commits?author=lahovniktadej\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"#tutorial-lahovniktadej\" title=\"Tutorials\">\u2705</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/AyanDas348\"><img src=\"https://avatars.githubusercontent.com/u/53610626?v=4?s=100\" width=\"100px;\" alt=\"Ayan Das\"/><br /><sub><b>Ayan Das</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/succulent/commits?author=AyanDas348\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/firefly-cpp/succulent/commits?author=AyanDas348\" title=\"Tests\">\u26a0\ufe0f</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://www.iztok-jr-fister.eu/\"><img src=\"https://avatars.githubusercontent.com/u/1633361?v=4?s=100\" width=\"100px;\" alt=\"Iztok Fister Jr.\"/><br /><sub><b>Iztok Fister Jr.</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/succulent/commits?author=firefly-cpp\" title=\"Code\">\ud83d\udcbb</a> <a href=\"#ideas-firefly-cpp\" title=\"Ideas, Planning, & Feedback\">\ud83e\udd14</a> <a href=\"#mentoring-firefly-cpp\" title=\"Mentoring\">\ud83e\uddd1\u200d\ud83c\udfeb</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://carlosal1015.github.io\"><img src=\"https://avatars.githubusercontent.com/u/21283014?v=4?s=100\" width=\"100px;\" alt=\"Oromion\"/><br /><sub><b>Oromion</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/succulent/issues?q=author%3Acarlosal1015\" title=\"Bug reports\">\ud83d\udc1b</a> <a href=\"#platform-carlosal1015\" title=\"Packaging/porting to new platform\">\ud83d\udce6</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/rhododendrom\"><img src=\"https://avatars.githubusercontent.com/u/3198785?v=4?s=100\" width=\"100px;\" alt=\"rhododendrom\"/><br /><sub><b>rhododendrom</b></sub></a><br /><a href=\"#design-rhododendrom\" title=\"Design\">\ud83c\udfa8</a></td>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/zala-lahovnik\"><img src=\"https://avatars.githubusercontent.com/u/105444201?v=4?s=100\" width=\"100px;\" alt=\"Zala Lahovnik\"/><br /><sub><b>Zala Lahovnik</b></sub></a><br /><a href=\"https://github.com/firefly-cpp/succulent/commits?author=zala-lahovnik\" title=\"Documentation\">\ud83d\udcd6</a></td>\n </tr>\n </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Collect POST requests easily",
"version": "0.3.3",
"project_urls": {
"Documentation": "https://succulent.readthedocs.io/en/latest/",
"Homepage": "https://github.com/firefly-cpp/succulent",
"Repository": "https://github.com/firefly-cpp/succulent"
},
"split_keywords": [
"data collection",
"data science",
"esp32",
"sensor measurements",
"smart agriculture",
"smartwatch"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8d9c3a746eb0cd431bb33a5ba3e878da14d85a49ab4bdcec91b699e9bdfb52b9",
"md5": "1ee48d8e4350e05cc4a4785ac3fd6531",
"sha256": "999e413195b6be34c076d5aa852bcea6b86fcc285d716e72e6a143a6b53bb8dd"
},
"downloads": -1,
"filename": "succulent-0.3.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1ee48d8e4350e05cc4a4785ac3fd6531",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 117168,
"upload_time": "2024-02-23T13:43:45",
"upload_time_iso_8601": "2024-02-23T13:43:45.090973Z",
"url": "https://files.pythonhosted.org/packages/8d/9c/3a746eb0cd431bb33a5ba3e878da14d85a49ab4bdcec91b699e9bdfb52b9/succulent-0.3.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "85e7a01c1cc966ee0fa4bd06b2fb10b30ba5206960dfbb42b93a9d7b6b20dbf7",
"md5": "0363280b23fc5db392cb0673ba41ce0a",
"sha256": "b2768e685dda3d3dd4d51ad4e85179428474743b82f52882797a864c39a59506"
},
"downloads": -1,
"filename": "succulent-0.3.3.tar.gz",
"has_sig": false,
"md5_digest": "0363280b23fc5db392cb0673ba41ce0a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 120860,
"upload_time": "2024-02-23T13:43:47",
"upload_time_iso_8601": "2024-02-23T13:43:47.013801Z",
"url": "https://files.pythonhosted.org/packages/85/e7/a01c1cc966ee0fa4bd06b2fb10b30ba5206960dfbb42b93a9d7b6b20dbf7/succulent-0.3.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-23 13:43:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "firefly-cpp",
"github_project": "succulent",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "succulent"
}