autometa library prototype
Project description
Autometa
Autometa is a simple & focused solution to reading metadata from a variety of file formats into a python class obj
---- Using Autometa Object ---- (Best if passing a file)
>>> from autometa import Autometa
>>> md = Autometa(absolute_file_path="/example/file/path") # optional to pass filepath-- without filepath will only support pip installs & uninstalls
>>> md.update_metadata() #toml_var only needs to be specified if you are reading a toml string from a .py file
>>> md.get_metadata()
{'project': {'dependencies': ['example1', 'example2', 'example3']}}
>>> md.parse_dependencies()
"Dependencies successfully parsed: ['example1', 'example2', 'example3']"
>>>md.pip_install_dependencies(dependencies=["additionalPkg1", "additionalPkg2"]) # installs related packages as well
'''Collecting additionalPkg1 -> install attempt... Collecting additionalPkg2 -> install attempt...
Collecting example1... -> install attempt, Collecting example2 -> install attempt... ,
Collecting example3 -> install attempt... '''
>>> md.pip_uninstall_dependencies(exclusions=["additionalPkg1","example1"])
# will remove newly installed related packages as well
'''Found existing installation: example2 -> Uninstalling example2...
Found existing installation: example3 -> Uninstalling example3...
'''
---- Using Autometa API ----
>>> import autometa
>>> md = autometa.fetch_metadata(absolute_file_path="/example/file/path")
{'project': {'dependencies': ['example1', 'example2', 'example3']}}
>>> dependencies = autometa.fetch_dependencies(absolute_file_path="/example/file/path", toml_table_key="project",
toml_table_value="dependencies")
"Dependencies successfully parsed: ['example1', 'example2', 'example3']"
>>>md = autometa.pip_install(absolute_file_path="/example/file/path",
manual_input_list=["additionalPkg1", "additionalPkg2"],
toml_table_key="project",toml_table_value="dependencies")
'''Collecting additionalPkg1 -> install attempt... Collecting additionalPkg2 -> install attempt...
Collecting example1... -> install attempt, Collecting example2 -> install attempt... ,
Collecting example3 -> install attempt... '''
>>> md.pip_uninstall(absolute_file_path="/example/file/path",
exclusions_list = ["example1","additionalPkg1","additionalPkg2"],
toml_table_key="project",toml_table_value="dependencies")
'''Found existing installation: example2 -> Uninstalling example2...
Found existing installation: example3 -> Uninstalling example3...
'''
autometa allows you to easily parse in data from .json, .yaml/.yml, .toml, and .py files into a dictionary object in a python class object with a helper function to parse in a list of dependencies listed in said files.
Installing autometa
autometa is available on PyPI:
$ python -m pip install autometa
Features & Best Practices
- Parse in a variety of formatted data into an object holding a dictionary of parsed data using a single function call
- Pip install / uninstall a list of user-input or file-fed dependencies
- By default, dependencies are searched for under a structure that looks like this:
-
for .json:
{
"project":
{
"dependencies": ['example1', 'example2', 'example3']
}
} -
for .yaml/.yml:
project:
dependencies: ['example1', 'example2', 'example3'] -
for .toml
[project]
dependencies = ["scrapy", "requests", "numpy"] -
for .py
'''
#META_TOML_START [project]
dependencies = ["requests", "fastapi", "pygame"]
#META_TOML_END '''
-
Cloning the repository
git clone https://github.com/mikl-o/autometa.git
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file autometa-0.3.0.tar.gz
.
File metadata
- Download URL: autometa-0.3.0.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | daaa5ab05fb591ab3c1b52e23729eef3a40e22ecbfa243a6cb0ade53583c9866 |
|
MD5 | 7eed8866074a21457ee24a1a165485b9 |
|
BLAKE2b-256 | e971afa0970dd80817b7712e599474de31dab78b2325fcd2a00a4eada023b478 |
File details
Details for the file autometa-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: autometa-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c53634f0df2baec92aef7cc52b105779b9c45cd8f593fa4fdbf69dcd2bcecf2 |
|
MD5 | bdfcd9ac9180d6212bf4463511ed9cd1 |
|
BLAKE2b-256 | 71c414bb96130562444b47047b424d74eb7041db18fb5d2efe1e5a210646d473 |