Gen3 Data Model Utils
Project description
datamodelutils
Wrapper utils to allow gen3datamodel.models to be loaded after initialization.
For example
from datamodelutils import models
from dictionaryutils import DataDictionary, dictionary
d = DataDictionary(url="https://s3.amazonaws.com/dictionary-artifacts/bhcdictionary/feat/s3/schema.json")
dictionary.init(d)
# Always import gen3datamodel after dictionary has been initialized.
# Creates a singleton for life of python session.
# Required for backward compatibility.
from gen3datamodel import models as md
models.init(md)
print(models)
will produce output of
<module 'gen3datamodel.models' from '/Users/phillis/Documents/work/datamodelutils/venv/lib/python3.9/site-packages/gen3datamodel/gen3datamodel/models/__init__.py'>
CLI Utilities
The datamodelutils has a docker image that exposes admin commands to manage or interact with datamodel
datamodel_postgres_admin
Script to do database creation and migration
# setup all tables, this should be run when you initialize the database
> export PG_HOST=localhost
> export PG_USER=test
> export PG_PASS=test
> export PG_NAME=test_graph
> export DICTIONARY_URL="https://s3.amazonaws.com/dictionary-artifacts/<dictionary_repl>/<branch>/schema.json"
> datamodel_postgres_admin create-all
# setup/create new graph tables, this should be run for dictionary migrations that needs to setup new tables
datamodel_postgres_admin graph-create
datamodel_repl
repl to interact with datamodel
> export PG_HOST=localhost
> export PG_USER=test
> export PG_PASS=test
> export PG_NAME=test_graph
> export DICTIONARY_URL="https://s3.amazonaws.com/dictionary-artifacts/<dictionary_repl>/<branch>/schema.json"
> datamodel_repl
Python 2.7.10 (default, Feb 7 2017, 00:08:15)
Type "copyright", "credits" or "license" for more information.
IPython 5.4.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: g.nodes(md.Project).first()
Out[1]: <Project(a77f549b-c74b-563e-80bb-570b5a4dde88)>
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file datamodelutils-1.1.2.tar.gz.
File metadata
- Download URL: datamodelutils-1.1.2.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.9.25 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
273f4878d1f70b162fede3d1a35be69603b3f256c96d3ec7cb1fd25aa1e8fee2
|
|
| MD5 |
8ca64556acb1fe8a692b97cd316782fd
|
|
| BLAKE2b-256 |
4d95050a248f19b9405c1890a75670d68d9ced5deaf6b5bfedc72792ebdeaf41
|
File details
Details for the file datamodelutils-1.1.2-py3-none-any.whl.
File metadata
- Download URL: datamodelutils-1.1.2-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.9.25 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eafac9c37cc550037ac801977d4ea16e89e9b27d629d0f751dd7e25ca7189dc9
|
|
| MD5 |
ea3c745aa16e799f8e6a96dba63082af
|
|
| BLAKE2b-256 |
dd772160a40bb2bd66c3e37c4b6001dd282a6ffc0a0047ac0c404c6c7e005958
|