metatab


Namemetatab JSON
Version 0.8.5 PyPI version JSON
download
home_pagehttps://github.com/Metatab/metatab-py.git
SummaryData format for storing structured data in spreadsheet tables
upload_time2022-12-26 18:14:58
maintainer
docs_urlNone
authorEric Busboom
requires_python
licenseBSD
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Metatab
=======

.. image:: https://travis-ci.org/Metatab/metatab.svg?branch=master
    :target: https://travis-ci.org/Metatab/metatab

Parse and manipulate structured data and metadata in a tabular format.

`Metatab <http://metatab.org>`_ is a data format that allows structured
metadata -- the sort you'd normally store in JSON, YAML or XML -- to be stored
and edited in tabular forms like CSV or Excel. Metatab files look exactly like
you'd expect, so they are very easy for non-technical users to read and edit,
using tools they already have. Metatab is an excellent format for creating,
storing and transmitting metadata. For more information about metatab, visit
http://metatab.org.

This repository has a Python module and executable. For a Javascript version,
see the `metatab-js <https://github.com/CivicKnowledge/metatab-js>`_ repository.

What is Metatab For?
--------------------

Metatab is a tabular format that allows storing metadata for demographics,
health and research datasets in a tabular format. The tabular format is much
easier for data creators to write and for data consumers to read, and it allows
a complete data packages to be stored in a single Excel file.


Install
-------



Install the package from PiPy with:

.. code-block:: bash

    $ pip install metatab

Or, install the master branch from github with:

.. code-block:: bash

    $ pip install https://github.com/CivicKnowledge/metatab.git

Then test parsing using a remote file with:

.. code-block:: bash

    $ metatab -j https://raw.githubusercontent.com/CivicKnowledge/metatab/master/test-data/example1.csv

Run ``metatab -h`` to get other program options.

The ``test-data`` directory has test files that also serve as examples to
parse. You can either clone the repo and parse them from the files, or from the
Github page for the file, click on the ``raw`` button to get raw view of the
flie, then copy the URL.


Running tests
+++++++++++++

Run ``python setup.py tests`` to run normal development tests. You can also run
``tox``, which will try to run the tests with python 3.4, 3.5 and 3.6, ignoring
non-existent interpreters.


Development Testing with Docker
+++++++++++++++++++++++++++++++

Testing during development for other versions of Python is a bit of a pain,
since you have to install the alternate version, and Tox will run all of the
tests, not just the one you want.

One way to deal with this is to install Docker locally, then run the docker
test container on the source directory. This is done automatically from the
Makefile in metatab/test, just run:

.. code-block:: bash

    $ cd metatab/test
    $ make build # to create the container image
    $ make test
    # or just ..
    $ make

You can also run the container shell, and run tests from the command line.

.. code-block:: bash

    $ cd metatab/test
    $ make build # to create the container image
    $ make shell # to run bash the container

You now have a docker container where the /code directory is the metatab source dir.

Now, run tox to build the tox virtual environments, then enter the specific version you want to
run tests for and activate the virtual environment.

.. code-block:: bash

    # tox
    # cd .tox/py34
    # source bin/activate # Activate the python 3.4 virtual env
    # cd ../../
    # python setup.py test # Cause test deps to get installed
    #
    # python -munittest metatab.test.test_parser.TestParser.test_parse_everython  # Run one test

Note that your development environment is mounted into the Docker container, so you can edit local
files and test the changes in Docker.







            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Metatab/metatab-py.git",
    "name": "metatab",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Eric Busboom",
    "author_email": "eric@civicknowledge.com",
    "download_url": "https://files.pythonhosted.org/packages/33/4c/f5da4a00a7abd12b3b54f1fb206bb5e5de486e9d4f02f933c911ffa06e0f/metatab-0.8.5.tar.gz",
    "platform": null,
    "description": "Metatab\n=======\n\n.. image:: https://travis-ci.org/Metatab/metatab.svg?branch=master\n    :target: https://travis-ci.org/Metatab/metatab\n\nParse and manipulate structured data and metadata in a tabular format.\n\n`Metatab <http://metatab.org>`_ is a data format that allows structured\nmetadata -- the sort you'd normally store in JSON, YAML or XML -- to be stored\nand edited in tabular forms like CSV or Excel. Metatab files look exactly like\nyou'd expect, so they are very easy for non-technical users to read and edit,\nusing tools they already have. Metatab is an excellent format for creating,\nstoring and transmitting metadata. For more information about metatab, visit\nhttp://metatab.org.\n\nThis repository has a Python module and executable. For a Javascript version,\nsee the `metatab-js <https://github.com/CivicKnowledge/metatab-js>`_ repository.\n\nWhat is Metatab For?\n--------------------\n\nMetatab is a tabular format that allows storing metadata for demographics,\nhealth and research datasets in a tabular format. The tabular format is much\neasier for data creators to write and for data consumers to read, and it allows\na complete data packages to be stored in a single Excel file.\n\n\nInstall\n-------\n\n\n\nInstall the package from PiPy with:\n\n.. code-block:: bash\n\n    $ pip install metatab\n\nOr, install the master branch from github with:\n\n.. code-block:: bash\n\n    $ pip install https://github.com/CivicKnowledge/metatab.git\n\nThen test parsing using a remote file with:\n\n.. code-block:: bash\n\n    $ metatab -j https://raw.githubusercontent.com/CivicKnowledge/metatab/master/test-data/example1.csv\n\nRun ``metatab -h`` to get other program options.\n\nThe ``test-data`` directory has test files that also serve as examples to\nparse. You can either clone the repo and parse them from the files, or from the\nGithub page for the file, click on the ``raw`` button to get raw view of the\nflie, then copy the URL.\n\n\nRunning tests\n+++++++++++++\n\nRun ``python setup.py tests`` to run normal development tests. You can also run\n``tox``, which will try to run the tests with python 3.4, 3.5 and 3.6, ignoring\nnon-existent interpreters.\n\n\nDevelopment Testing with Docker\n+++++++++++++++++++++++++++++++\n\nTesting during development for other versions of Python is a bit of a pain,\nsince you have to install the alternate version, and Tox will run all of the\ntests, not just the one you want.\n\nOne way to deal with this is to install Docker locally, then run the docker\ntest container on the source directory. This is done automatically from the\nMakefile in metatab/test, just run:\n\n.. code-block:: bash\n\n    $ cd metatab/test\n    $ make build # to create the container image\n    $ make test\n    # or just ..\n    $ make\n\nYou can also run the container shell, and run tests from the command line.\n\n.. code-block:: bash\n\n    $ cd metatab/test\n    $ make build # to create the container image\n    $ make shell # to run bash the container\n\nYou now have a docker container where the /code directory is the metatab source dir.\n\nNow, run tox to build the tox virtual environments, then enter the specific version you want to\nrun tests for and activate the virtual environment.\n\n.. code-block:: bash\n\n    # tox\n    # cd .tox/py34\n    # source bin/activate # Activate the python 3.4 virtual env\n    # cd ../../\n    # python setup.py test # Cause test deps to get installed\n    #\n    # python -munittest metatab.test.test_parser.TestParser.test_parse_everython  # Run one test\n\nNote that your development environment is mounted into the Docker container, so you can edit local\nfiles and test the changes in Docker.\n\n\n\n\n\n\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "Data format for storing structured data in spreadsheet tables",
    "version": "0.8.5",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "72a017d6f29bfab47cac4aaa2a8d8174",
                "sha256": "597e6453ea7058319db83bba6a6e9e7f96921d106d43256c273e520c80f33bea"
            },
            "downloads": -1,
            "filename": "metatab-0.8.5.tar.gz",
            "has_sig": false,
            "md5_digest": "72a017d6f29bfab47cac4aaa2a8d8174",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 115554,
            "upload_time": "2022-12-26T18:14:58",
            "upload_time_iso_8601": "2022-12-26T18:14:58.303253Z",
            "url": "https://files.pythonhosted.org/packages/33/4c/f5da4a00a7abd12b3b54f1fb206bb5e5de486e9d4f02f933c911ffa06e0f/metatab-0.8.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-26 18:14:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "Metatab",
    "github_project": "metatab-py.git",
    "lcname": "metatab"
}
        
Elapsed time: 0.02335s