{ "info": { "author": "\u00c1lvaro Justen", "author_email": "alvarojusten@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License (GPL)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "outputty\n========\n\n``outputty`` is a simple Python library that helps you importing, filtering\nand exporting data. It is composed by a main ``Table`` class and a lot of\nplugins that helps importing and exporting data to/from ``Table``.\n\nYou can write your own plugin easily (see ``outputty/plugin_*.py`` for\nexamples). Some examples of plugins are: CSV, text, HTML and histogram.\n\n\nInstallation\n------------\n\nAs simple as executing::\n\n pip install outputty\n\n\nNote: as ``pip`` tries to compile everything and ``outputty`` depends on\n``MySQL-Python`` package (which needs compilation), you need to have\nlibmysqlclient's headers, compilers and related stuff. To install it on\nDebian/Ubuntu, just execute::\n\n apt-get install build-essential libmysqlclient-dev\n\n\nExample\n-------\n\nCode time!::\n\n >>> from outputty import Table\n >>> my_table = Table(headers=['name', 'age']) # headers are the columns\n >>> my_table.append(('\u00c1lvaro Justen', 24)) # a row as tuple\n >>> my_table.append({'name': 'Other User', 'age': 99}) # a row as dict\n >>> print my_table # a text representation of Table\n +---------------+-----+\n | name | age |\n +---------------+-----+\n | \u00c1lvaro Justen | 24 |\n | Other User | 99 |\n +---------------+-----+\n\n >>> print 'First row:', my_table[0] # Table is indexable\n First row: [u'\\xc1lvaro Justen', 24]\n\n >>> print 'Sum of ages:', sum(my_table['age']) # you can get columns too\n Sum of ages: 123\n\n >>> my_table.write('csv', 'my-table.csv') # CSV plugin will save its contents in a file\n >>> # let's see what's in the file...\n >>> print open('my-table.csv').read()\n \"name\",\"age\"\n \"\u00c1lvaro Justen\",\"24\"\n \"Other User\",\"99\"\n\n >>> # let's use HTML plugin!\n >>> print my_table.write('html') # without filename ``write`` will return a string\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
nameage
\u00c1lvaro Justen24
Other User99
\n\n\n``Table`` have **a lot** of other features. To learn more (by examples), read\n`outputty tutorial `_\nand see ``examples`` folder. Enjoy!\n\n\nNew Features\n------------\n\nYes, there are a lot of features to add (it's just the begining). If you\nwant to contribute, please see our\n`outputty wishlist `_.\n\nYou can also use the `outputty Issue Tracking System on GitHub `_\nto report bugs.\n\n\nContributing\n------------\n\nIf you want to contribute to this project, please:\n\n- Install dependencies for development running ``pip install -r requirements/development.txt``.\n- Execute ``make test`` to run all tests -- please run **all tests** *before*\n pushing.\n\n - To run just one test file execute:\n ``nosetests --with-coverage --cover-package outputty tests/test_your-test-file.py``\n - Try to have a test-coverage of 100%.\n - Use `Test-driven development `_.\n\n- Use `nvie's gitflow `_ - to learn, read\n `A Successful Git branching model `_.\n\n- Create/update documentation (README/docstrings/man page)\n\n - **Do NOT** edit ``README.rst`` and ``tutorial.rst``, edit\n ``README-template.rst`` or ``tutorial-template.rst`` instead and run\n ``make create-docs`` to create the new ``README.rst`` and\n ``tutorial.rst`` (before committing). The tutorial will be created based on\n files in ``examples`` folder.\n\n\nNew Plugins\n~~~~~~~~~~~\n\nIf you want to create a new plugin to import/export from/to some new\nresource, please see files ``outputty/plugin_*.py`` as examples. They are so\nsimple, please follow these steps:\n\n- Create a file named ``outputty/plugin_name.py``, where ``name`` is the name of\n your plugin.\n\n- Create ``read`` and/or ``write`` functions in this file. These functions receive\n the ``Table`` object and optional parameters.\n\n - ``read``: should read data from the resource specified in parameters and put\n this data in ``Table`` (using ``Table.append`` or ``Table.extend``).\n - ``write``: should read data from ``Table`` (iterating over it, using slicing\n etc.) and write this data to the resource specified in parameters.\n\n- Call your plugin executing ``my_table.write('name', optional_parameters...)``\n or ``my_table.read('name', optional_parameters...)`` (where ``name`` is your\n plugin's name) - when you execute it ``outputty`` will call\n ``outputty.plugin_name.read``/``outputty.plugin_name.write``.\n\n\nEncoding and Decoding\n+++++++++++++++++++++\n\nYour plugin's ``read`` function **must** put all data inside in unicode and your\nplugin's ``write`` function will receive a ``Table`` object with all data in\nunicode (it should not change this). But if you need to decode/encode\nbefore/after doing some actions in your plugin, you can use ``Table.decode()``\nand ``Table.encode()``.\n\n\nContributors\n~~~~~~~~~~~~\n\nThis software is written and maintained by\n`\u00c1lvaro Justen `_ but received a lot of\ncontributions. My sincerely thanks to:\n\n- `Funda\u00e7\u00e3o Get\u00falio Vargas `_ for letting me invest my time\n on it.\n- `Douglas Andrade `_ for showing me\n `textwrap.dedent` and writting more legible tests.\n- `Fl\u00e1vio Coelho `_ for creating `histogram` and\n giving a lot of suggestions.\n- `Renne Rocha `_ for creating `order_by`.\n- `Tatiana Al-Chueyr `_ for designing and coding\n architecture proposals and suggestions for the plugin API (including the\n architecture we are using).\n- `Fl\u00e1vio Amieiro `_ for a lot of suggestions\n and interpretations about design.\n\n\n\nRelated Software\n----------------\n\n- outputty-like:\n\n - `tablib `_: format-agnostic tabular\n dataset library.\n - `PyTables `_: package for managing hierarchical\n datasets and designed to efficiently and easily cope with extremely large\n amounts of data.\n - `csvstudio `_: Python tool to analyze\n csv files.\n - `csvsimple `_: a simple tool to\n handle CSV data.\n - `toolshed `_: less boiler-plate.\n - `buzhug `_: a fast, pure-Python\n database engine.\n\n- Data analysis:\n\n - `pyf `_: framework and platform dedicated to large\n data processing, mining, transforming, reporting and more.\n - `pygrametl `_: Python framework which offers\n commonly used functionality for development of Extract-Transform-Load\n (ETL) processes.\n - `etlpy `_ seems to be a dead project.\n - `orange `_: data visualization and analysis for\n novice and experts.\n - `Ruffus `_: lightweight python module to run\n computational pipelines.\n - `webstore `_: web-api enabled datastore\n backed onto sql databases\n\n- Command-line tools:\n\n - `fabulous `_: library designed to\n make the output of terminal applications look fabulous.\n - `termcolor `_: ANSII Color\n formatting for output in terminal.\n - `clint `_: Python Command-line\n Application Tools.\n\n- Other:\n\n - `pyspread `_: non-traditional\n spreadsheet application.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/turicas/outputty/", "keywords": "data processing,data exchange,etl", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "outputty", "package_url": "https://pypi.org/project/outputty/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/outputty/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/turicas/outputty/" }, "release_url": "https://pypi.org/project/outputty/0.3.2/", "requires_dist": null, "requires_python": null, "summary": "Import, filter and export tabular data with Python easily", "version": "0.3.2" }, "last_serial": 751231, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0a16a615fa2fccdf1ed751e9bff1201a", "sha256": "0c92ce1f5c4fc29ab9e951ff50ecaec8acb0fe582a247c6cc00a8be979432f14" }, "downloads": -1, "filename": "outputty-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0a16a615fa2fccdf1ed751e9bff1201a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25918, "upload_time": "2012-02-03T19:20:12", "url": "https://files.pythonhosted.org/packages/4b/ec/605fe59627eab86ed88ce91904bafb56d1d027a4505d2d07af8110a13b4e/outputty-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "761ce5f9678e4493efbdb0daea62eb1a", "sha256": "666fa75645bab55de775df47f7ca83d190c134f4e84a5cb16f7edde3fe8040e0" }, "downloads": -1, "filename": "outputty-0.2.0.tar.gz", "has_sig": false, "md5_digest": "761ce5f9678e4493efbdb0daea62eb1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26752, "upload_time": "2012-04-21T13:42:26", "url": "https://files.pythonhosted.org/packages/27/02/f558f1a8e7608d619aea21ecdb4b5dda937e01510ed3340e588d4b34a2b1/outputty-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d3a8568be3e5a47ee7008d9ca8101673", "sha256": "8515f5dfe720b8d786e456df0206f6a3ea48d12690c3d6c7008274a84642dcf3" }, "downloads": -1, "filename": "outputty-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d3a8568be3e5a47ee7008d9ca8101673", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26602, "upload_time": "2012-04-21T13:50:10", "url": "https://files.pythonhosted.org/packages/ec/b4/171d01d03073de8dd0bcd93cb3943f314f3a42d64e4ccfe699c13de83767/outputty-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "fc315409c0691609a042ea69f6ae31f1", "sha256": "5be184e3e8115e9a2de1df915b58c29269e7edecf22270263999ccec99f6ab1b" }, "downloads": -1, "filename": "outputty-0.3.0.tar.gz", "has_sig": false, "md5_digest": "fc315409c0691609a042ea69f6ae31f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28964, "upload_time": "2012-05-09T00:55:12", "url": "https://files.pythonhosted.org/packages/ff/d1/c6563bb133880e53ca443145cdd018193a5936d2c9f0b9a4e9a7376fce9d/outputty-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "29effcfd939d4cc33ee5c54bf7a57b12", "sha256": "5f95ea763b0f6ce23390bc96d4d29592d19e6b56a38b2505f627102cb28e64a4" }, "downloads": -1, "filename": "outputty-0.3.1.tar.gz", "has_sig": false, "md5_digest": "29effcfd939d4cc33ee5c54bf7a57b12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29147, "upload_time": "2012-06-18T04:02:58", "url": "https://files.pythonhosted.org/packages/ec/13/dd0ffcfae07c98414c75e09508949183e4411cbf7071b9417df9080f4647/outputty-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "99827c885f2fd4deab1413c9a94710eb", "sha256": "dadb14e78d247bc83231be39ffe5b2f37226d848c43072856bf668f24b1da3e3" }, "downloads": -1, "filename": "outputty-0.3.2.tar.gz", "has_sig": false, "md5_digest": "99827c885f2fd4deab1413c9a94710eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29186, "upload_time": "2013-03-23T18:31:34", "url": "https://files.pythonhosted.org/packages/2f/ce/a096863529d5d9230d54cbacbe629a57c490d6f9dd443757cfb5801f9e3d/outputty-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "99827c885f2fd4deab1413c9a94710eb", "sha256": "dadb14e78d247bc83231be39ffe5b2f37226d848c43072856bf668f24b1da3e3" }, "downloads": -1, "filename": "outputty-0.3.2.tar.gz", "has_sig": false, "md5_digest": "99827c885f2fd4deab1413c9a94710eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29186, "upload_time": "2013-03-23T18:31:34", "url": "https://files.pythonhosted.org/packages/2f/ce/a096863529d5d9230d54cbacbe629a57c490d6f9dd443757cfb5801f9e3d/outputty-0.3.2.tar.gz" } ] }