Name | tomfoolery JSON |
Version |
1.1.1
JSON |
| download |
home_page | |
Summary | CLI to generate Python dataclasses that model and load toml files (or other can-representated-as-a-dict files) |
upload_time | 2024-02-17 02:10:49 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.10 |
license | |
keywords |
dataclass
dataclasses
json
toml
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# tomfoolery
Tool to generate Python dataclasses that model and load toml files (or other can-representated-as-a-dict files).<br>
Primarily aimed at configuration type files.
## Installation
Install with:
<pre>
pip install tomfoolery
</pre>
## Usage
Given the following file (`venue.toml`):<br><br>
![](imgs/toml.png)
Running the command
<pre>
tomfoolery venue.toml
</pre>
will produce this file (`venue.py`):<br><br>
![](imgs/dataclass.png)
which can then be used:
<pre>
>from venue import Venue
>venue = Venue.load()
>print(venue.address.city)
'Chicago'
>venue.calendar.start_month = "March"
>venue.dump()
</pre>
### Current Caveats
* Only works with `.toml` and `.json` files.
* All keys must be valid Python variable names.
Raw data
{
"_id": null,
"home_page": "",
"name": "tomfoolery",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "dataclass,dataclasses,json,toml",
"author": "",
"author_email": "Matt Manes <mattmanes@pm.me>",
"download_url": "https://files.pythonhosted.org/packages/1c/93/ea2b0d01a4da0db21d0e04574e8ad5eef8c345da3c11413613171759f35f/tomfoolery-1.1.1.tar.gz",
"platform": null,
"description": "# tomfoolery\n\nTool to generate Python dataclasses that model and load toml files (or other can-representated-as-a-dict files).<br>\nPrimarily aimed at configuration type files.\n\n## Installation\n\nInstall with:\n\n<pre>\npip install tomfoolery\n</pre>\n\n\n## Usage\n\nGiven the following file (`venue.toml`):<br><br>\n![](imgs/toml.png)\n\nRunning the command\n<pre>\ntomfoolery venue.toml\n</pre>\n\nwill produce this file (`venue.py`):<br><br>\n![](imgs/dataclass.png)\n\nwhich can then be used:\n<pre>\n>from venue import Venue\n>venue = Venue.load()\n>print(venue.address.city)\n'Chicago'\n>venue.calendar.start_month = \"March\"\n>venue.dump()\n</pre>\n\n### Current Caveats\n\n* Only works with `.toml` and `.json` files.\n* All keys must be valid Python variable names.",
"bugtrack_url": null,
"license": "",
"summary": "CLI to generate Python dataclasses that model and load toml files (or other can-representated-as-a-dict files)",
"version": "1.1.1",
"project_urls": {
"Documentation": "https://github.com/matt-manes/tomfoolery/tree/main/docs",
"Homepage": "https://github.com/matt-manes/tomfoolery",
"Source code": "https://github.com/matt-manes/tomfoolery/tree/main/src/tomfoolery"
},
"split_keywords": [
"dataclass",
"dataclasses",
"json",
"toml"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "caaea3dbd1865dc15d2559161db8aa3f63c32a808e792afe0d885a5b340a0d6d",
"md5": "588c5e63492c3e8c5e198e0434ac9456",
"sha256": "cf42279c5ae0260db3fc0fe4a10ae42232d6a1004635755b3c05079f120b6c0a"
},
"downloads": -1,
"filename": "tomfoolery-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "588c5e63492c3e8c5e198e0434ac9456",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 8073,
"upload_time": "2024-02-17T02:10:47",
"upload_time_iso_8601": "2024-02-17T02:10:47.545842Z",
"url": "https://files.pythonhosted.org/packages/ca/ae/a3dbd1865dc15d2559161db8aa3f63c32a808e792afe0d885a5b340a0d6d/tomfoolery-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1c93ea2b0d01a4da0db21d0e04574e8ad5eef8c345da3c11413613171759f35f",
"md5": "b7efb22a77d3c32f88e24ac5ea926d56",
"sha256": "0646ac8940994f08958e2b1c2e863d824f09e445285209b9fc60179fb1d396c8"
},
"downloads": -1,
"filename": "tomfoolery-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "b7efb22a77d3c32f88e24ac5ea926d56",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 6076,
"upload_time": "2024-02-17T02:10:49",
"upload_time_iso_8601": "2024-02-17T02:10:49.090488Z",
"url": "https://files.pythonhosted.org/packages/1c/93/ea2b0d01a4da0db21d0e04574e8ad5eef8c345da3c11413613171759f35f/tomfoolery-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-17 02:10:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "matt-manes",
"github_project": "tomfoolery",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "tomfoolery"
}