Saravanan666/pypi-org huggingface dataset:
Package: dbmeta
dbmeta v0.0.11Database metadata extractorGenerate a Metadata object containing information about the database.InstallpipinstalldbmetaUseimportdbmetadb_type='postgres'db_url='postgres://postgres:postgres@localhost:5432'metadata=dbmeta.gen_metadata(db_type,db_url)Excluding schema or tablesPostgres system tables and schema are already excluded from the introspection.
To exclude other tables or schema use theexcludeclassfromdbmetaimportexcludeexclude.schema=["hdb_catalog"]exclude.tables=["migrations"]...ClassesMetadataclassMetadata:schema:List[Schema]tables:List[Table]columns:List[Column]user_defined:List[UserDefined]SchemaclassSchema(DatabaseItem):catalog_name:strschema_name:strschema_owner:strtables:List[Table]TableclassTable(DatabaseItem):table_catalog:strtable_schema:strtable_name:strtable_type:strcolumns:List[Column]ColumnclassColumn(DatabaseItem):udt_name:strtable_catalog:strtable_schema:strtable_name:strcolumn_name:strordinal_position:intcolumn_default:str|Noneis_nullable:Literal["YES"]|Literal["NO"]data_type:strcharacter_maximum_length:int|Noneis_updatable:boolUser Defined TypesclassUserDefined(DatabaseItem):schema:strname:strinternal_name:strelements:List[str|int]
Package: db-migration-tool
database-migration-toolDatabase migration made simple.Database supportMySQLSQLiteFunctionsValidationsOnly run sql querys that has not been run beforeChecks that all checksum are same on installed and on the scriptsNew versions can't be inserted between two installed scriptsCommand line<command> --changelog-file=config.yaml migratecommands:commandDescriptioncleaninfomigrateChangelog fileyaml file with changelog settings for the database migrationsexample.yamldatabase:database_plugin:mysqlhost:localhostport:3306username:${env:MYSQL_USER}password:${env:MYSQL_PASS}xxxxxxxx:allow_clean:TruedatabaseMigrations:-changeSet:1author:Mike <mike@email.com>changes:sqlFile:baseline.sql-changeSet:2author:Matt <matt@email.com>changes:sqlFile:test.sqlparameters:-userName:test-email:test@email.com-changeSet:3author:Matt <matt@email.com>changes:scriptFile:test.pyparameters:-tableName:users-name:testbaseline.sql--- sql with parameter inputs from changelog fileCREATETABLE${tableName}(nameVARCHAR(30)NOTNULL,PRIMARYKEY(name));INSERTINTO${tableName}(name)VALUES('${name}');--- sql with parameter input from enviroment variablesCREATETABLE${env:TABLE_NAME}(testVARCHAR(10)NOTNULL,PRIMARYKEY(test));--- normal sqlCREATETABLEemail(emailVARCHAR(255)NOTNULL,PRIMARYKEY(email));Tablesdatabase-change-logTable for tracking changes to the databaseColumnData typeDescriptionidINTIDdescriptionVARCHAR(255)description from the scriptscriptVARCHAR(255)filename of the scriptchecksumVARCHAR(64)SHA256 checksum of the script fileinstalled_onTIMESTAMPdate and time when successfully migrtatedtotal_querysINTtotal sql querys in filedone_querysINTnumber of last successful querysuccessINT1 for success 0 for failuredatabase-change-lockTable for storing database lock to prevent only one instanse of xxx to be running against the databaseColumnData typeDescriptionidINTID of the locklockedINT1 if locked otherwise 0grantedDATETIMEDate and time lock was grantedlocked_byVARCHAR(255)DB username
Package: dbm-index
DBM IndexAn object mapper and indexer for key value databases, written in python.Usagefromdbm_indeximportIndexerindexer=Indexer({})resource_id=indexer.create({'hello':'world'})resource=indexer.retreive_one(resource_id)resources=indexer.retreive()indexer.update(resource_id,{'hello':123})indexer.delete(resource_id)
Package: dbml-builder
dbml-builderGenerates Pydantic and SQLAlchemy from a DBML file.This package is for users wanting to use their data model represented
inDBMLin production.dbml-builderaccomplishes this
by:Generating Pydantic and SQLAlchemy code.Verifying existing generated code to see if it matches the specified version and
has not been changed since creation.Currently, there doesn't seem to be a good solution for code generation with DBML in Python
hence the creation ofdbml-builder. Additionally, large software systems tend to break as
Pydantic schemas are modified which is the reason why the package includes verification
functionality.dbml-builderis new and actively developed. If you have any feature requests or issues,
please submit themhere.InstallationInstall using pip:pip install dbml_builderUsageGenerate your ORM and schemas by running:model-build generate ./project.dbml ./generatedor callgenerate_modelsdirectly in Python code.You can check to if the model code is still valid by running:model-build check v0.9.3 ./generatedor callverifydirectly in Python code.Note that the version is what is specified in thenotefor
a given project in DBML.ExampleSuppose we have a project:>> ls
src/  LICENSE  poetry.lock  data-model.dbml  pyproject.tomlwheresrccontains your code for your python project.We can automatically generate code using:pip install dbml_builder
model-build generate ./data-model.dbml ./src/generatedWe can now submitsrc/generatedto version control and
use the generated code in a module:from generated.schema import SOME_PYDANTIC_SCHEMA
from generated.orm import SOME_SQLALCHEMY_TABLEWe can also ensure the generated code is not changed by
placing a check in our code:# src/main.py
from dbml_builder import verify

verify('v0.1.0', '../data-model.dbml')
Package: dbml-to-sqlalchemy
dbml-to-sqlalchemygenerate Model Class SqlAlchemy from database model dbmlInstallationpip install dbml-to-sqlalchemyOrgit clone https://github.com/fraoustin/dbml-to-sqlalchemy.git
cd dbml-to-sqlalchemy
python setup.py installYou can load test byflake8 --ignore E501,E226,E128,F401
python -m unittest discover -s testsUsagefor sqlalchemy onlyimport os
from re import sub
import sqlalchemy as db
from sqlalchemy.orm import Session
from pydbml import PyDBML

from dbml_to_sqlalchemy import createModel
from dbml_to_sqlalchemy import mymodel

database_file = "sqlite://"
engine = db.create_engine(database_file, echo=False)
conn = engine.connect()
metadata = db.MetaData()


try:
    from sqlalchemy.orm import DeclarativeBase

    class Base(DeclarativeBase):
        metadata = metadata
except Exception:
    # for sqlalchemy 1.4
    from sqlalchemy.orm import declarative_base
    Base = declarative_base()

source = """
Table user {
    id integer [pk, increment, note:'key of user']
    name string [default: 'me', note:'only name']
    Note: 'Stores user data'
}

Table post {
    id integer [pk, increment]
    user_id integer [ref: > user.id]
}
"""

parsed = PyDBML(source)


User = createModel(parsed.tables[0], Base)
Post = createModel(parsed.tables[1], Base)

print(User.__doc__)
print(Post.__doc__)

metadata.create_all(engine)

with Session(engine) as session:
    user = User(id=1)
    session.add_all([user, ])
    session.commit()
    post = Post(id=1, user_id=1)
    session.add_all([post, ])
    session.commit()
    mypost = session.scalars(db.select(Post)).all()[0]
    print(mypost.user.name)for flask-sqlalchemyimport os
import logging
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from pydbml import PyDBML
from dbml_to_sqlalchemy import createModel, mymodel

app = Flask(__name__)

# db SQLAlchemy
database_file = "sqlite://"
app.config["SQLALCHEMY_DATABASE_URI"] = database_file
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy()

source = """
Table user {
id integer [primary key]
username varchar
role varchar
created_at timestamp
}
"""

parsed = PyDBML(source)
createModel(parsed.tables[0], db.Model)


def model_to_dict(obj):
    return {c.name: getattr(obj, c.name) for c in obj.__table__.columns}


@app.route('/me')
def mepath():
    return model_to_dict(mymodel.User.query.filter_by(id=1).first()), 200


if __name__ == "__main__":
    db.init_app(app)
    with app.app_context():
        db.create_all()
        me = mymodel.User(id=1, username='me')
        db.session.add_all([me, ])
        db.session.commit()
    app.logger.setLevel(logging.DEBUG)
    app.run(host='0.0.0.0', port=5000, debug=True)TODOmanage view fromhttps://github.com/jklukas/sqlalchemy-views(https://stackoverflow.com/questions/9766940/how-to-create-an-sql-view-with-sqlalchemy)voir la gestion des defaultsFeaturegenerate documentationTODOV. 0.9.2generate specific class for EnumarateV. 0.9.1add sample in READMEV. 0.9.0init repos
Package: dbmodel
Python DataBase Entity ModelSDK fornece uma série de recursos que aumentam muito a produtividade no desenvolvimento de aplicações integrada a banco de dados com gerenciamento de objeto.InstalaçãoInstalação utilizando PippipinstalldbmodelGit/Clonegit clone https://github.com/robertons/dbmodel
cd dbmodel
pip install -r requirements.txt
python setup.py installGenerate Entity Modelimportosimportdbmodeldbmodel.Make(dir=os.path.dirname(os.path.abspath(__file__)),db_user="user",db_password="pass",db_host="host",db_port=3306,db_database="dbname")Make will create folder on your project like this:.
├──...
├──model# Entity Model Folder│├──__init__.py│├──table_a# TableA Entity Class│├──table_b# TableB Entity Class│└──table_b# TableC Entity Class└──...
Package: dbms
===========DBMS - DataBases Made Simpler===========DBMS is a database took kit that wraps and providesuniform interface to other DB API compliant adapters.It manages connections, doing automatic imports and providing auniform connection method to most common databases.Implements DictCursor, NamedTupleCursor and OrderedDictCursor.It currently supports IBM DB2, Firebird, MSSQL Server, MySQL, Oracle,PostgreSQL, SQLite and ODBC connections.Sample usage::>>> import dbms>>> db = dbms.connect.postgres('UserName', 'SuperSecret', 'Chinook')>>> cur = db.cursor()>>> cur.execute('SELECT * FROM artist WHERE artistid = %s', (101,))>>> row = cur.fetchone()>>> row.pprint()artistid : 101name     : Lulu Santos# Database Inspection>>> db.inspect.tables()['album', 'artist', 'customer', 'employee', 'genre', 'invoice', 'invoiceline', 'mediatype', 'playlist', 'playlisttrack', 'track']>>> db.inspect.columns('album')['albumid', 'title', 'artistid']>>> db.probe.getColumns('album')[Record('albumid', 'integer', 'N', 'Y'),Record('title', 'character varying', 'N', None),Record('artistid', 'integer', 'N', None)]# Saved connections>>> dbms.servers.list()['ChinookPg', 'ChinookLTE']# open saved connection>>> db = dbms.servers.open('ChinookPg')Enter master password:********# logged cursor>>> cur = db.loggedCursor()>>> cur.execute('SELECT * FROM "Album" WHERE "ArtistId" = %s', (1,))>>> dbms.logger.view(limit=1)[Record('2014-07-01 08:11:48', 'ChinookPg', 'SELECT * FROM "Album" WHERE "ArtistId" = %s', (1))]# utilities>>> from dbms import utils>>> query, params = utils.formatQuery(('SELECT * FROM Album WHERE ArtistId = ',Param(1),'AND AlbumId < ',NamedParam('maxAlbumId', 50)),cur.paramstyle)>>> cur.execute(query, params)>>> utils.cursorToXLSX(cur, '/tmp/AlbumList.xlsx')>>> cur.execute('SELECT * FROM Album')>>> utils.cursorToCursorCopy(cur, destCur, 'album')>>> query = 'SELECT * FROM artist WHERE artistid BETWEEN %s AND %s'>>> cur.execute(query, (100, 105))>>> utils.cursorToJSON(cur)[{"artistid": 100, "name": "Lenny Kravitz"},{"artistid": 101, "name": "Lulu Santos"},{"artistid": 102, "name": "Marillion"},{"artistid": 103, "name": "Marisa Monte"},{"artistid": 104, "name": "Marvin Gaye"},{"artistid": 105, "name": "Men At Work"},]>>> cur.execute(query, (100, 105))>>> utils.cursorToFixedWidth(cur)ARTISTID  NAME100       Lenny Kravitz101       Lulu Santos102       Marillion103       Marisa Monte104       Marvin Gaye105       Men At Work
Package: dbm-test123
OpenDBMSupported OS PlatformsOSBuild StatusLinuxWindowsmacOSWhat is itOpenDBM is a software package that allows for calculation of digital
biomarkers of health and functioning from video or audio of an individual’s
behavior. It integrates existing tools for behavioral measurements such as
facial activity, voice, speech, and movement into a single package for measurement
of overall behavior.More About OpenDBMAt a modular level, OpenDBM is a library that consists of the following components:ComponentDescriptionFacialAn OpenDBM module to get facial attributesMovementAn OpenDBM module to get movement attributesAccousticAn OpenDBM module to get accoustic attributesAudioAn OpenDBM module to get audio attributesUsually, OpenDBM is used for:A digital biomaker extraction appA helper tools to give insight of patient conditionTable of Contents⭐️ InstallationPrerequisitesInstall DependenciesOpenDBM Installation⭐️ UsageBasic UsageTry your first OpenDBM program⭐️ More resources⭐️ License⭐️ People⭐️ InstallationPrerequisites (Install Dependencies)With Conda Environment (recommended)Make sure to install conda first atanacondaOn Linux/macOScondainstall-cconda-forgecmakeffmpegsoxOn Windows#Make sure to run in Anaconda Prompt, or add conda to the path.condainstall-cconda-forgeffmpegsoxdlibWithout Conda EnvironmentInstallation instructionsOpenDBM InstallationpipinstallopendbmModel Download ( Facial and Movement Components)Make sure you have installed docker and already login to Docker Hub.If you haven't, Find the tutorialheredockerpulljordihasianta/dbm-test2
dockerimagetagjordihasianta/dbm-test2dbm-openfaceBack to TOC ☝️⭐️ UsageBasic UsageTry your first OpenDBM programfromopendbmimportFacialActivity#make sure Docker is active to access the modelmodel=FacialActivity()path="sample.mp4"model.fit(path)landmark=model.get_landmark()To get the attribute like mean and std is as straighforward as.mean():landmark.mean()landmark.std()landmark.to_dataframe()# convert results as pandas dataframeFor more in-depth tutorials about OpenDBM, you can check out:Introduction to OpenDBMAdvance GuideAPI DocumentationBack to TOC ☝️⭐️ More resourcesOur wikiOpenDBM 2.0 DocumentationAiCure pageBack to TOC ☝️⭐️ LicenseOpenDBM is published under the GNU AGPL 3.0 license.⭐️ PeopleOpenDBM was developed by Anzar Abbas and Vijay Yadav, alongside Vidya Koesmahargyo and Isaac Galatzer-Levy, from within the Research and Development department at AiCure––a health tech startup in New York. It was made open source in October 2020. You can contact us atopendbm@aicure.com.Back to TOC ☝️
Package: db-mysql
db-mysql介绍这是一个简单的操作mysql数据库的库（底层是基于pymysql，只是做了生成sql和执行的简单功能）。是我在项目中无法使用ORM框架（SQLAlchemy）时候为了不重复写sql语句，并且为了项目后期表变动好修改才自己写了这个操作类。（由于数据库的表过多，并且表结构也不是我设计的，最重要的是不涉及复杂的sql操作，例如left join等，为了方便自己开发才有了这个）优点：不用重复编写CRUD的sql语句缺点暂时只支持单表的简单CRUD说明使用方法也非常简单，通过复制源码到项目，然后进行导包使用，或者是通过pip安装后import使用。导包的方法如下>>>fromdb_mysqlimportDB
>>>DB
<class'db_mysql.DB'>PS：不断更新中，有错误欢迎指出具体使用方法把数据库基础信息字典传入操作类，进行实例化rpa_db_info={'host':'192.168.0.191','user':'root','password':'123456','database':'rpamakebill','port':'3306'}# 实例化db对象 默认自动提 auto_commit=Truedb=DB(rpa_db_info)一些方便的方法# 获取一个表的所有列db.cols("test")查询语句select(self,table_name,select_cols,where_cols=None,where_vals=None,where_signs=None,order_dict=None,limit=None,show_sql=False)# 说明select(表名,需要查询的列名,过滤的列名,过滤的列名对应的值,过滤的符号,排序的字典,limit限制数量，是否打印生成的SQL)# 返回值字段列表，查询到的二维列表，前面二者合起来的字典列表=db.select(表名,需要查询的列名)# 注意-select和delete以及update同下面说明where_cols和where_vals和where_signs需要搭配使用where_signs不写默认都是"="具体使用：# 简单的查询cols,vals,datas=db.select("test",db.cols("test"))# 当然还可以直接这样datas=db.select("test",db.cols("test"))[2]# 查询test表里面ID为100的数据cols,vals,datas=db.select("test",db.cols("test"),["ID"],[100])# 查询test表里面ID为100，并且Name为“wrallen”的数据cols,vals,datas=db.select("test",db.cols("test"),["ID","Name"],[100,"wrallen"])# 按照更新时间递减，添加时间递增order_dict={"DateTime":"DESC","AddTime":"ASC"}cols,vals,datas=db.select("test",db.cols("test"),["ID","Name"],[100,"wrallen"],order_dict)# 查询test表里面ID小于100的数据cols,vals,datas=db.select("test",db.cols("test"),["ID"],[100],["<"])# 查询test表里面的ID和Name的默认排序的前10条cols,vals,datas=db.select("test",["ID","Name"],limit=10)添加语句insert(self,table_name,insert_dict,show_sql=False)# 说明insert(表名,插入的数据-字典,是否打印生成的SQL)# 返回值插入成功的ID=db.insert(表名,插入的数据-字典)具体使用insert_sql={"Name":"bill"}new_id=db.insert("test",insert_sql)删除语句delete(self,table_name,where_cols=None,where_vals=None,where_signs=None,show_sql=False)# 说明delete(表名,过滤的列名,过滤的列名对应的值,过滤的符号,是否打印生成的SQL)# 返回值-True, 删除失败会报异常具体使用# 删除test表里面ID为1的数据db.delete("test",["ID"],[1])# 删除test表里面ID小于等于1的数据db.delete("test",["ID"],[1],["<="])更新语句update(self,table_name,update_dict,where_cols=None,where_vals=None,where_signs=None,show_sql=False)# 说明update(表名,更新的字典,过滤的列名,过滤的列名对应的值,过滤的符号,是否打印生成的SQL)# 返回值-True, 更新失败会报异常具体使用# 更新test表里面ID为1的Name为billupdate_dict={"Name":"bill"}db.update("test",update_dict,["ID"],[1])
Package: dbnd
DBNDDBND an open source framework for building and tracking data pipelines. DBND is used for processes ranging from data ingestion, preparation, machine learning model training and production.DBND includes a Python library, set of APIs, and CLI that enables you to collect metadata from your workflows, create a system of record for runs, and easily orchestrate complex processes.DBND simplifies the process of building and running data pipelines
from dbnd import taskfromdbndimporttask@taskdefsay_hello(name:str="databand.ai")->str:value="Hello%s!"%namereturnvalueAnd makes it easy to track your critical pipeline metadatafromdbndimportlog_metric,log_dataframelog_dataframe("my_dataset",my_dataset)log_metric("r2",r2)Getting StartedSee ourdocumentationwith examples and quickstart guides to get up and running with DBND.The Latest and GreatestFor using DBND, we recommend that you work with a virtual environment likeVirtualenvorConda. Update to the latest and greatest:pipinstalldbndIf you would like access to our latest features, or have any questions, feedback, or contributions we would love to here from you! Get in touch throughcontact@databand.ai
Package: dbnd-airflow-auto-tracking
DBND Airflow Auto TrackingThe plugindbnd-airflow-auto-trackingis a plugin for Airflow, enabling dbnd tracking to all DAGs and tasks without any code changes.What does it do?The plugin will go over tasks and modify them if needed.
It uses Airflow's policy mechanism by adding dbnd tracking to policy function.
If the user had already defined its own policy function it will be executed in addition to dbnd tracking.Installationpipinstalldbnd-airflow-auto-tracking
Package: dbnd-mlflow
OverviewThedbnd-mlflowplugin allows storingmlflowmetrics to DBND tracker together with duplicating them to the mlflow store.Installpipinstalldbnd-mlflow# orpipinstalldataband[mlflow]Config[core]# Databand store url should be defineddataband_url=http://localhost:8080[mlflow_tracking]# Enable tracking to Databand storedataband_tracking=True# Optionally, define a URI for mlflow store,# mlflow.get_tracking_uri() is used by default; duplicate_tracking_to=http://mlflow-store/Run exampleYou might need to install examples at firstpip install dbnd-examples.dbndrundbnd_examples.tracking.tracking_mlflow.task_with_mflow# or set configs manuallydbndrundbnd_examples.tracking.tracking_mlflow.task_with_mflow--set-configmlflow_tracking.databand_tracking=TrueExplanationmlflow_example codefromdbndimporttaskfrommlflowimportstart_run,end_runfrommlflowimportlog_metric,log_param@taskdefmlflow_example():start_run()# paramslog_param("param1",randint(0,100))log_param("param2",randint(0,100))# metricslog_metric("foo1",random())log_metric("foo2",random())end_run()Execution flow:Rundbnd run mlflow_example --set-config mlflow_tracking.databand_tracking=Truedbnd creates a new dbnd contextdbnd_on_pre_init_contexthook fromdbnd_mlflowis triggereda new uri is computed to be used by mlflow, e.g.:dbnd://localhost:8080?duplicate_tracking_to=http%253A%252F%252Fmlflow-store%253A80%252Fthe new uri is set to be used withmlflow.set_tracking_uri()mlflow_exampletask starts:mlflow.start_run()mlflowreadsentry_pointsfor each installed package and finds:"dbnd = dbnd_mlflow.tracking_store:get_dbnd_store","dbnd+s = dbnd_mlflow.tracking_store:get_dbnd_store","databand = dbnd_mlflow.tracking_store:get_dbnd_store","databand+s = dbnd_mlflow.tracking_store:get_dbnd_store",mlflowcreatesTrackingStoreClientusing the new uriuri schema instructs to usedbnd_mlflow.tracking_store:get_dbnd_storeget_dbnd_storecreates dbndTrackingAPIClientget_dbnd_storecreates mlflow tracking store to duplicate tracking toget_dbnd_storereturnsDatabandStoreinstancelog_param()/log_metric()calls toDatabandStorecalls toTrackingAPIClientcalls to mlflow tracking store to duplicate tracking tomlflow.end_run()mlflow_exampleendsdbnd_on_exit_contexthook fromdbnd_mlflowis triggeredrestore original mlflow tracking uri
Package: dbnet
DbNet is a Python/VueJS database client to access Oracle, Spark (Hive), Postgres, etc. It is still a work in progess, but should work fine for daily use. MS SQL Server is supported, although with some bugs here and there due to JDBC/JTDS bridge.Only Chrome and Firefox are supported at the moment.InstallpipinstalldbnetCommanddbnetshould now be available in the PATH.Runningdbnet--helpusage:dbnet[-h][--serve][--init_db][--reset_db][--force][--portPORT]DbNetApplicationoptionalarguments:-h,--helpshowthishelpmessageandexit--serveStarttheDbNetserver--init_dbInitiatlizethebackendSQLitedatabase--reset_dbResetthebackendSQLitedatabase--forceKillanyrunninginstance.--portPORTThewebapplicationportdbnet--serve2019-02-2710:08:11--DBTablesOK.2019-02-2710:08:11--MainLoopPIDis396852019-02-2710:08:11--MonitorLoopPIDis396912019-02-2710:08:11--WebServerPIDis396922019-02-2710:08:11--URL->http://macbook:5566/?token=CqPahSJIeg1Nl4Kj(39692)wsgistartinguponhttp://0.0.0.0:5566Setting up Dababase ProfileYour database profile / credentials needs to be set up at~/profile.yamlor env varPROFILE_YAML.
Run commandxutil-create-profileto create from template.Example EntryPG_XENIAL:name:PG_XENIALhost:xenial-serverdatabase:db1port:5432user:userpassword:passwordtype:postgresqlurl:"jdbc:postgresql://xenial-server:5432/db1?&ssl=false"Screenshots
Package: dbnomics
DBnomics Python clientDownload time series from DBnomics and access it as aPandasDataFrame.This package is compatible with Python >= 3.8. (TODO vermin)DocumentationQuick startTutorialA tutorial showing how to download series as a DataFrame and plot them is available as anotebook.InstallpipinstalldbnomicsSee also:https://pypi.org/project/DBnomics/ConfigurationUse with a proxyThis Python package usesrequests, which is able to work with a proxy (HTTP/HTTPS, SOCKS). For more information, please checkits documentation.Customize the API base URLIf you plan to use a local Web API, running on the port 5000, you'll need to use theapi_base_urlparameter of thefetch_*functions, like this:df=fetch_series(api_base_url='http://localhost:5000',provider_code='AMECO',dataset_code='ZUTN',)Or globally change the default API URL used by thedbnomicsmodule, like this:importdbnomicsdbnomics.default_api_base_url="http://localhost:5000"DevelopmentTo work on dbnomics-python-client source code:gitclonehttps://git.nomics.world/dbnomics/dbnomics-python-client.gitcddbnomics-python-client
pipinstall-rrequirements.txt
pipinstall-rrequirements-dev.txt
pipinstall-e.Open the demo notebookInstall jupyter if not already done, in a virtualenv:pipinstalljupyter
jupyternotebookindex.ipynbTestspipinstall-rrequirements.txt
pipinstall-rrequirements-test.txt
pipinstall-e.

pytest# Specify an alternate API URLAPI_URL=http://localhost:5000pytest
Package: dbnomics-data-model
DBnomics Data ModelIn DBnomics, once data has been downloaded from providers, it is converted in a common format: the DBnomics data model.This Python package provides:model classes defining DBnomics entities (provider, dataset, series, etc.) with their business logic and validation rulesa data storage abstraction to load and save those entitiesadapters implementing the data storage abstraction (e.g.dbnomics_data_model.storage.adapters.filesystem)This package is used in particular by the convert script of fetchers in order to save data.DocumentationPlease readhttps://db.nomics.world/docs/data-model/Validate dataTo validate a directory containing data written by (or compatible with) the "filesystem" adapter:dbnomics-validate-storage<storage_dir>This script outputs the data validation errors it finds.Run testsTo run unit tests:pytestCode quality:flake8.See also:https://git.nomics.world/dbnomics-fetchers/documentation/wikis/code-stylePublish a new versionFor package maintainers:gittagx.y.z
gitpush
gitpush--tagsGitLab CI will publish the package tohttps://pypi.org/project/dbnomics-data-model/(see.gitlab-ci.yml).