Metadata-Version: 2.1
Name: obj-tables
Version: 1.0.7
Summary: Toolkit for modeling complex datasets with collections of user-friendly tables
Home-page: https://github.com/KarrLab/obj_tables
Author: ObjTables developers
Author-email: info@objtables.org
License: MIT
Download-URL: https://github.com/KarrLab/obj_tables
Keywords: object model,schema,workbook,XLSX,Excel,validation
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Classifier: Topic :: Office/Business :: Financial :: Spreadsheet
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Software Development :: Object Brokering
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: cement
Requires-Dist: inflect
Requires-Dist: natsort
Requires-Dist: networkx
Requires-Dist: python-dateutil
Requires-Dist: pyyaml (>=5.1)
Requires-Dist: setuptools
Requires-Dist: stringcase
Requires-Dist: validate-email
Requires-Dist: wc-utils (>=0.0.17)
Provides-Extra: all
Requires-Dist: abduct ; extra == 'all'
Requires-Dist: attrdict ; extra == 'all'
Requires-Dist: bcforms ; extra == 'all'
Requires-Dist: biopython (>=1.75) ; extra == 'all'
Requires-Dist: bpforms ; extra == 'all'
Requires-Dist: capturer ; extra == 'all'
Requires-Dist: configobj ; extra == 'all'
Requires-Dist: flask ; extra == 'all'
Requires-Dist: flask-cors ; extra == 'all'
Requires-Dist: flask-restplus ; extra == 'all'
Requires-Dist: gitpython ; extra == 'all'
Requires-Dist: graphviz (>=0.13) ; extra == 'all'
Requires-Dist: jupyter-client ; extra == 'all'
Requires-Dist: lark-parser ; extra == 'all'
Requires-Dist: matplotlib ; extra == 'all'
Requires-Dist: mock ; extra == 'all'
Requires-Dist: nbconvert ; extra == 'all'
Requires-Dist: nbformat ; extra == 'all'
Requires-Dist: notebook ; extra == 'all'
Requires-Dist: numpy ; extra == 'all'
Requires-Dist: objsize ; extra == 'all'
Requires-Dist: openbabel (<3) ; extra == 'all'
Requires-Dist: openpyxl (<=3.0.1) ; extra == 'all'
Requires-Dist: pandas ; extra == 'all'
Requires-Dist: pint (>=0.10) ; extra == 'all'
Requires-Dist: pronto (>=1) ; extra == 'all'
Requires-Dist: psutil ; extra == 'all'
Requires-Dist: pygithub ; extra == 'all'
Requires-Dist: pytest ; extra == 'all'
Requires-Dist: python-libsbml (>=5.16.0) ; extra == 'all'
Requires-Dist: scipy ; extra == 'all'
Requires-Dist: sphinx (>=1.8) ; extra == 'all'
Requires-Dist: sphinx-fontawesome ; extra == 'all'
Requires-Dist: sphinx-rtd-theme (>=0.4.2) ; extra == 'all'
Requires-Dist: sphinxcontrib-addmetahtml (>=0.1.1) ; extra == 'all'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'all'
Requires-Dist: sphinxcontrib-googleanalytics (>=0.1.1) ; extra == 'all'
Requires-Dist: sphinxcontrib-spelling ; extra == 'all'
Requires-Dist: sphinxprettysearchresults ; extra == 'all'
Requires-Dist: sympy ; extra == 'all'
Requires-Dist: uncertainties ; extra == 'all'
Requires-Dist: wc-onto (>=0.0.2) ; extra == 'all'
Requires-Dist: wc-utils[git] ; extra == 'all'
Requires-Dist: werkzeug (<1) ; extra == 'all'
Provides-Extra: bio
Requires-Dist: biopython (>=1.75) ; extra == 'bio'
Provides-Extra: chem
Requires-Dist: bcforms ; extra == 'chem'
Requires-Dist: bpforms ; extra == 'chem'
Requires-Dist: openbabel (<3) ; extra == 'chem'
Provides-Extra: docs
Requires-Dist: sphinx (>=1.8) ; extra == 'docs'
Requires-Dist: sphinx-fontawesome ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme (>=0.4.2) ; extra == 'docs'
Requires-Dist: sphinxcontrib-addmetahtml (>=0.1.1) ; extra == 'docs'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'docs'
Requires-Dist: sphinxcontrib-googleanalytics (>=0.1.1) ; extra == 'docs'
Requires-Dist: sphinxcontrib-spelling ; extra == 'docs'
Requires-Dist: sphinxprettysearchresults ; extra == 'docs'
Provides-Extra: grammar
Requires-Dist: lark-parser ; extra == 'grammar'
Provides-Extra: math
Requires-Dist: numpy ; extra == 'math'
Requires-Dist: pandas ; extra == 'math'
Requires-Dist: sympy ; extra == 'math'
Provides-Extra: rest
Requires-Dist: flask ; extra == 'rest'
Requires-Dist: flask-cors ; extra == 'rest'
Requires-Dist: flask-restplus ; extra == 'rest'
Requires-Dist: werkzeug (<1) ; extra == 'rest'
Provides-Extra: revisioning
Requires-Dist: gitpython ; extra == 'revisioning'
Requires-Dist: wc-utils[git] ; extra == 'revisioning'
Provides-Extra: sci
Requires-Dist: pint (>=0.10) ; extra == 'sci'
Requires-Dist: pronto (>=1) ; extra == 'sci'
Requires-Dist: uncertainties ; extra == 'sci'
Provides-Extra: tests
Requires-Dist: abduct ; extra == 'tests'
Requires-Dist: attrdict ; extra == 'tests'
Requires-Dist: capturer ; extra == 'tests'
Requires-Dist: configobj ; extra == 'tests'
Requires-Dist: jupyter-client ; extra == 'tests'
Requires-Dist: matplotlib ; extra == 'tests'
Requires-Dist: mock ; extra == 'tests'
Requires-Dist: nbconvert ; extra == 'tests'
Requires-Dist: nbformat ; extra == 'tests'
Requires-Dist: notebook ; extra == 'tests'
Requires-Dist: objsize ; extra == 'tests'
Requires-Dist: openpyxl (<=3.0.1) ; extra == 'tests'
Requires-Dist: psutil ; extra == 'tests'
Requires-Dist: pygithub ; extra == 'tests'
Requires-Dist: pytest ; extra == 'tests'
Requires-Dist: python-libsbml (>=5.16.0) ; extra == 'tests'
Requires-Dist: scipy ; extra == 'tests'
Requires-Dist: wc-onto (>=0.0.2) ; extra == 'tests'
Provides-Extra: viz
Requires-Dist: graphviz (>=0.13) ; extra == 'viz'

|PyPI package| |Documentation| |Test results| |Test coverage| |Code
analysis| |License| |Analytics|

*ObjTables*: Toolkit for working with complex data as collections of user-friendly tables with the ease of spreadsheets, the rigor of schemas, and the power object-oriented programming
========================================================================================================================================================================================

*ObjTables* is a toolkit which makes it easy to use spreadsheets (e.g.,
XLSX workbooks) to work with complex datasets by combining spreadsheets
with rigorous schemas and an object-relational mapping system (ORM;
similar to Active Record (Ruby), Django (Python), Doctrine (PHP),
Hibernate (Java), Propel (PHP), SQLAlchemy (Python), etc.). This
combination enables users to use programs such as Microsoft Excel,
LibreOffice Calc, and OpenOffice Calc to view and edit spreadsheets and
use schemas and the *ObjTables* software to validate the syntax and
semantics of datasets, compare and merge datasets, and parse datasets
into object-oriented data structures for further querying and analysis
with languages such as Python.

*ObjTables* makes it easy to:

-  Use collections of tables (e.g., an XLSX workbook) to represent
   complex data consisting of multiple related objects of multiple types
   (e.g., rows of worksheets), each with multiple attributes (e.g.,
   columns).
-  Use complex data types (e.g., numbers, strings, numerical arrays,
   symbolic mathematical expressions, chemical structures, biological
   sequences, etc.) within tables.
-  Use progams such as Excel and LibreOffice as a graphical interface
   for viewing and editing complex datasets.
-  Use embedded tables and grammars to encode relational information
   into columns and groups of columns of tables.
-  Define clear schemas for tabular datasets.
-  Use schemas to rigorously validate tabular datasets.
-  Use schemas to parse tabular datasets into data structures for
   further analysis in languages such as Python.
-  Compare, merge, split, revision, and migrate tabular datasets.

The *ObjTables* toolkit includes five components:

-  Format for schemas for tabular datasets
-  Numerous data types
-  Format for tabular datasets
-  Software tools for parsing, validating, and manipulating tabular
   datasets
-  Python package for more flexibility and analysis

Please see https://objtables.org for more information.

Installing the command-line program and Python API
--------------------------------------------------

Please see the
`documentation <https://docs.karrlab.org/obj_tables/installation.html>`__.

Examples, tutorials, and documentation
--------------------------------------

Please see the `user documentation <https://www.objtables.org>`__,
`developer documentation <https://docs.karrlab.org/obj_tables>`__, and
`tutorials <https://sandbox.karrlab.org>`__.

License
-------

*ObjTables* is released under the `MIT license <LICENSE>`__.

Development team
----------------

*ObjTables* was developed by the `Karr Lab <https://www.karrlab.org>`__
at the Icahn School of Medicine at Mount Sinai in New York, USA and the
`Applied Mathematics and Computer Science, from Genomes to the
Environment research unit <https://maiage.inra.fr/>`__ at the `National
Research Institute for Agriculture, Food and
Environment <https://www.inrae.fr/en/centres/ile-france-jouy-josas-antony/>`__
in Jouy en Josas, FR.

-  `Jonathan Karr <https://www.karrlab.org>`__
-  `Arthur
   Goldberg <https://www.mountsinai.org/profiles/arthur-p-goldberg>`__
-  `Wolfram
   Liebermeister <http://genome.jouy.inra.fr/~wliebermeis/index_en.html>`__
-  `John Sekar <https://www.linkedin.com/in/john-sekar/>`__
-  `Bilal Shaikh <https://www.bshaikh.com>`__

Questions and comments
----------------------

Please contact the `developers <mailto:info@objtables.org>`__ with any
questions or comments.

.. |PyPI package| image:: https://img.shields.io/pypi/v/obj_tables.svg
   :target: https://pypi.python.org/pypi/obj_tables
.. |Documentation| image:: https://readthedocs.org/projects/obj-tables/badge/?version=latest
   :target: https://docs.karrlab.org/obj_tables
.. |Test results| image:: https://circleci.com/gh/KarrLab/obj_tables.svg?style=shield
   :target: https://circleci.com/gh/KarrLab/obj_tables
.. |Test coverage| image:: https://coveralls.io/repos/github/KarrLab/obj_tables/badge.svg
   :target: https://coveralls.io/github/KarrLab/obj_tables
.. |Code analysis| image:: https://api.codeclimate.com/v1/badges/164d7483a2d3bb68b3ca/maintainability
   :target: https://codeclimate.com/github/KarrLab/obj_tables
.. |License| image:: https://img.shields.io/github/license/KarrLab/obj_tables.svg
   :target: LICENSE
.. |Analytics| image:: https://ga-beacon.appspot.com/UA-86759801-1/obj_tables/README.md?pixel



