Skip to main content

Gen3 Data Model Utils

Project description

datamodelutils

Docker Repository on Quay

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datamodelutils-1.1.1.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datamodelutils-1.1.1-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file datamodelutils-1.1.1.tar.gz.

File metadata

  • Download URL: datamodelutils-1.1.1.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.9.23 Linux/6.11.0-1018-azure

File hashes

Hashes for datamodelutils-1.1.1.tar.gz
Algorithm Hash digest
SHA256 8dcc43f9b973878c679c3bd0254772438092e52849ee48582442fe6996f9eff1
MD5 00bb41744c7fba7001ffce00a4bf846b
BLAKE2b-256 1c11e08ff7f547a5c938d98f5d702d5a6460c3b9e39c712e73865a70421013ce

See more details on using hashes here.

File details

Details for the file datamodelutils-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: datamodelutils-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.9.23 Linux/6.11.0-1018-azure

File hashes

Hashes for datamodelutils-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6729f3bed359db3cc6ec1ddae5a22e75b2782bd14ead34e928bc9b95112e175c
MD5 e446232b4f31d22acb3ce45c7c3135a9
BLAKE2b-256 72bbee681e0ec1b88135b3ae7d55995634b3490ee3535af48d7dec26f209c53d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page