<img width="50%" alt="logo" src="https://github.com/Cave-Dwellers-Tree-People/minihydra/assets/153214101/8907d6da-e65b-4ca6-a1a9-4f154a4b719b">
```console
pip install minihydra-leviathan
```
[//]: # (:fleur_de_lis:)
[//]: # ()
[//]: # (I left most of the documentation ambiguous, but to my knowledge, *minihydra / leviathan* supports everything you could need. It's ~400 lines of code if you wish to figure it out. Generally speaking, I ask that you put the equal effort that I did into integrating with **[Hydra](https://www.github.com/facebookresearch/hydra)** before blatantly copying or ripping off this work. See if **[Hydra](https://www.github.com/facebookresearch/hydra)** or this suits your needs. If not, and you really make sure, then go ahead. But be careful, hydras and leviathans are beautiful beasts and they are not to mess with.)
[//]: # ()
[//]: # (:fleur_de_lis:)
### Reading in args
```python
# run.py
from minihydra import just_args
args = just_args()
print(args, '\n')
print(args.hello)
print(args.number)
print(args.goodbye.cruel)
```
```
> python run.py hello=world number=42 goodbye.cruel='[world]'
{'hello': 'world', 'number': 42, {'goodbye': {'cruel': ['world']}}}
world
42
[world]
```
### Via yaml
```yaml
# path/to/args.yaml
hello: world
number: 42
goodbye:
cruel:
- world
```
```python
# run.py
from minihydra import just_args
args = just_args(source='path/to/args.yaml')
print(args, '\n')
print(args.hello)
print(args.number)
print(args.goodbye.cruel)
```
```
> python run.py number=43
{'hello': 'world', 'number': 43, {'goodbye': {'cruel': ['world']}}}
world
43
[world]
```
### As a decorator
```python
# run.py
from minihydra import get_args
@get_args(source='path/to/args.yaml')
def main(args):
print(args)
if __name__ == '__main__':
main()
```
```
> python run.py
{'hello': 'world', 'number': 42, {'goodbye': {'cruel': ['world']}}}
```
### Advanced
**Further features include literals, function calls, instantiation, imports, interpolation, custom grammars, expanding module and yaml search paths, project directory inference, instantiation tinkering-syntax inference, portals, and pseudonyms.**
For deeper documentation, please consider [sponsoring](https://github.com/sponsors/Cave-Dwellers-Tree-People).
[//]: # (:fleur_de_lis:)
[//]: # (### Literals: )
[//]: # (lists, dicts, floats, ints, booleans, null, inf, strings; put lists and dicts in quotes)
[//]: # ()
[//]: # (### imports)
[//]: # (Or via reserved task= keyword argument)
[//]: # ()
[//]: # (### instantiate)
[//]: # (Path/To.py -> Cow "Moo")
[//]: # (signature matching)
[//]: # ()
[//]: # (### interpolation)
[//]: # ()
[//]: # (### grammars)
[//]: # ()
[//]: # (### yaml search paths)
[//]: # (project directory inference, instantiation tinkering inference, portals, pseudonyms)
<img width="60%" alt="logo" src="https://github.com/Cave-Dwellers-Tree-People/minihydra/assets/153214101/0ba65a1c-fa62-41a2-bfe3-77358146f18e">
[Licensed under the MIT license.](MIT_LICENSE)
Raw data
{
"_id": null,
"home_page": "https://github.com/Cave-Dwellers-Tree-People/minihydra",
"name": "minihydra-leviathan",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10.8",
"maintainer_email": "",
"keywords": "sys args,hyperparams,command line,artificial intelligence,machine learning,deep learning,reinforcement learning,image classification",
"author": "Sam Lerman",
"author_email": "cave.dwellers.tree.people@gmail.com",
"download_url": "",
"platform": null,
"description": "<img width=\"50%\" alt=\"logo\" src=\"https://github.com/Cave-Dwellers-Tree-People/minihydra/assets/153214101/8907d6da-e65b-4ca6-a1a9-4f154a4b719b\">\n\n```console\npip install minihydra-leviathan\n```\n\n[//]: # (:fleur_de_lis:)\n\n[//]: # ()\n[//]: # (I left most of the documentation ambiguous, but to my knowledge, *minihydra / leviathan* supports everything you could need. It's ~400 lines of code if you wish to figure it out. Generally speaking, I ask that you put the equal effort that I did into integrating with **[Hydra](https://www.github.com/facebookresearch/hydra)** before blatantly copying or ripping off this work. See if **[Hydra](https://www.github.com/facebookresearch/hydra)** or this suits your needs. If not, and you really make sure, then go ahead. But be careful, hydras and leviathans are beautiful beasts and they are not to mess with.)\n\n[//]: # ()\n[//]: # (:fleur_de_lis:)\n\n### Reading in args\n\n```python\n# run.py\n\nfrom minihydra import just_args\n\nargs = just_args()\n\nprint(args, '\\n')\nprint(args.hello)\nprint(args.number)\nprint(args.goodbye.cruel)\n```\n\n```\n> python run.py hello=world number=42 goodbye.cruel='[world]'\n\n{'hello': 'world', 'number': 42, {'goodbye': {'cruel': ['world']}}}\n\nworld\n42\n[world]\n```\n\n### Via yaml\n\n```yaml\n# path/to/args.yaml\n\nhello: world\nnumber: 42\ngoodbye:\n cruel:\n - world\n```\n\n```python\n# run.py\n\nfrom minihydra import just_args\n\nargs = just_args(source='path/to/args.yaml')\n\nprint(args, '\\n')\nprint(args.hello)\nprint(args.number)\nprint(args.goodbye.cruel)\n```\n\n```\n> python run.py number=43\n\n{'hello': 'world', 'number': 43, {'goodbye': {'cruel': ['world']}}}\n\nworld\n43\n[world]\n```\n\n### As a decorator\n\n```python\n# run.py\n\nfrom minihydra import get_args\n\n@get_args(source='path/to/args.yaml')\ndef main(args):\n print(args)\n\nif __name__ == '__main__':\n main()\n```\n\n```\n> python run.py\n\n{'hello': 'world', 'number': 42, {'goodbye': {'cruel': ['world']}}}\n```\n\n### Advanced\n\n**Further features include literals, function calls, instantiation, imports, interpolation, custom grammars, expanding module and yaml search paths, project directory inference, instantiation tinkering-syntax inference, portals, and pseudonyms.**\n\nFor deeper documentation, please consider [sponsoring](https://github.com/sponsors/Cave-Dwellers-Tree-People).\n\n[//]: # (:fleur_de_lis:)\n\n[//]: # (### Literals: )\n\n[//]: # (lists, dicts, floats, ints, booleans, null, inf, strings; put lists and dicts in quotes)\n\n[//]: # ()\n[//]: # (### imports)\n\n[//]: # (Or via reserved task= keyword argument)\n\n[//]: # ()\n[//]: # (### instantiate)\n\n[//]: # (Path/To.py -> Cow \"Moo\")\n\n[//]: # (signature matching)\n\n[//]: # ()\n[//]: # (### interpolation)\n\n[//]: # ()\n[//]: # (### grammars)\n\n[//]: # ()\n[//]: # (### yaml search paths)\n\n[//]: # (project directory inference, instantiation tinkering inference, portals, pseudonyms)\n\n<img width=\"60%\" alt=\"logo\" src=\"https://github.com/Cave-Dwellers-Tree-People/minihydra/assets/153214101/0ba65a1c-fa62-41a2-bfe3-77358146f18e\">\n\n[Licensed under the MIT license.](MIT_LICENSE)\n\n",
"bugtrack_url": null,
"license": "",
"summary": "A lightweight sys-arg manager.",
"version": "1.0.1",
"project_urls": {
"Bug Tracker": "https://github.com/Cave-Dwellers-Tree-People/minihydra/issues",
"Homepage": "https://github.com/Cave-Dwellers-Tree-People/minihydra"
},
"split_keywords": [
"sys args",
"hyperparams",
"command line",
"artificial intelligence",
"machine learning",
"deep learning",
"reinforcement learning",
"image classification"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4159bfe0e278433fc35dcd76b1bb3e722a23d626b527f96b23b9a67114a863d2",
"md5": "23f715ff282b0c3938302f046c4c8560",
"sha256": "a9e5aad3a365601c623ffff8deaae31ed187f7a941d93f777931ff1460a980eb"
},
"downloads": -1,
"filename": "minihydra_leviathan-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "23f715ff282b0c3938302f046c4c8560",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10.8",
"size": 11101,
"upload_time": "2024-03-07T02:17:27",
"upload_time_iso_8601": "2024-03-07T02:17:27.205909Z",
"url": "https://files.pythonhosted.org/packages/41/59/bfe0e278433fc35dcd76b1bb3e722a23d626b527f96b23b9a67114a863d2/minihydra_leviathan-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-07 02:17:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Cave-Dwellers-Tree-People",
"github_project": "minihydra",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "minihydra-leviathan"
}