{ "info": { "author": "Jonathan Harrington", "author_email": "jonathan@jonharrington.org", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: Jython" ], "description": "============================\nMFrame - A minimal DataFrame\n============================\n\n\nA lightweight single file DataFrame implementation that works on older Python distrubtions such as Jython.\n\nI use it with Java data tools such as `Streamsets `_.\n\nFeel free to fork, add tests and features and make a pull request.\n\nInstall\n=======\n\n\n $ pip install mframe\n\n\nor copy mframe.py to your project folder.\n\nUsage\n=====\n\nIt's goal is to be familar to pandas users without promising 100% compatability. My workflow usually involves writing the code in a Jupyter notebook using Python 3 and then testing it with Jython before deploying it to Streamsets.\n\n\n >>> from mframe import DataFrame\n >>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n >>> df = DataFrame(data)\n >>> df\n {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}\n\n >>> df.pd # the pd alias returns a pandas dataframe, useful for printing in Jupyter when developing\n col_1 col_2\n 0 3 a\n 1 2 b\n 2 1 c\n 3 0 d\n\n >>> df['col_1'] # Subscript access\n [3, 2, 1, 0]\n\n >>> df.col_1 # Attribute access\n [3, 2, 1, 0]\n\n >>> df[df.col_1 > 1] # filtering works\n col_1 col_2\n 0 3 a\n 1 2 b\n >>> df[(df.col_1 > 1) & (df.col_2 == 'a')]\n col_1 col_2\n 0 3 a\n\n >>> df['col_1'] = df.col_1.apply(str) # Apply is available\n >>> df.col_1\n ['3', '2', '1', '0']\n\n >>> list(df.iterrows()) # returns a generator of dictionaries\n [{'col_1': '3', 'col_2': 'a'}, {'col_1': '2', 'col_2': 'b'}, {'col_1': '1', 'col_2': 'c'}, {'col_1': '0', 'col_2': 'd'}]\n\nTested on\n=========\n\n- Python 3.7\n- Jython 2.7\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/prio/mframe", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "mframe", "package_url": "https://pypi.org/project/mframe/", "platform": "", "project_url": "https://pypi.org/project/mframe/", "project_urls": { "Homepage": "https://github.com/prio/mframe" }, "release_url": "https://pypi.org/project/mframe/0.2.2/", "requires_dist": null, "requires_python": "", "summary": "A lightweight single file DataFrame implementation that works on older Python distrubtions such as Jython.", "version": "0.2.2" }, "last_serial": 5457187, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "fc07c95d48afb2a353d869fe0c2a6327", "sha256": "8f1201548ac8e84bc0f0f6e8e1c7e80c047654f2c61870ae0acc73a0720d02b3" }, "downloads": -1, "filename": "mframe-0.1.0-py2.7.egg", "has_sig": false, "md5_digest": "fc07c95d48afb2a353d869fe0c2a6327", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10641, "upload_time": "2019-06-21T09:41:07", "url": "https://files.pythonhosted.org/packages/71/bb/ce9f3f675fd1b22ecd2a961967cfff96465236da67ea637a4cb5de273333/mframe-0.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "80f5ed3eb99c3302f5112f16d9098a7b", "sha256": "68e37b985facf86cd4bda74d9fcdfe95d7d684de79547a7da80707a7b78477f6" }, "downloads": -1, "filename": "mframe-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "80f5ed3eb99c3302f5112f16d9098a7b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3033, "upload_time": "2019-06-21T09:29:45", "url": "https://files.pythonhosted.org/packages/32/1b/776c036acd194ab1475369c9728d7f9f7729bc7d4796dbe592def7b867b5/mframe-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae6ccf0c2a915fe52140de69629df4b3", "sha256": "fa21151a2264f42b526f009f292e09d0e5e9319cf9f5f66f0696ed61f5596373" }, "downloads": -1, "filename": "mframe-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ae6ccf0c2a915fe52140de69629df4b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3283, "upload_time": "2019-06-21T09:29:52", "url": "https://files.pythonhosted.org/packages/c1/5e/304142960d734e5b409d4b70daa3372d011ca1b4d5e324d7e77cd1ff3f13/mframe-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c47030e66d4df0461067bde56fa6380a", "sha256": "14d6c59151e2fad3d5c816c453a84341d2347ac098732cbc71ab646a5206710a" }, "downloads": -1, "filename": "mframe-0.2.0-py2.7.egg", "has_sig": false, "md5_digest": "c47030e66d4df0461067bde56fa6380a", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10463, "upload_time": "2019-06-21T10:04:34", "url": "https://files.pythonhosted.org/packages/dd/59/387248c24330f09c701c7127c0e2083cb754c9294a892202b211f721748e/mframe-0.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a2219a21820a4ef3fd34d5186557b219", "sha256": "3e688b766b389e4ce812e056288790d3f99d44f77993ce1497882bb0511f9b45" }, "downloads": -1, "filename": "mframe-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a2219a21820a4ef3fd34d5186557b219", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3376, "upload_time": "2019-06-21T10:04:33", "url": "https://files.pythonhosted.org/packages/95/d5/fba5d5e628daa9119f6412c3b6707596ce746756f8bb0e285d4dd7ee9571/mframe-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d682216bf8699b8a9ad5d803472d131", "sha256": "d498a08516e0a405630db41805453978953294d06872353831aaa2226ad35ab4" }, "downloads": -1, "filename": "mframe-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9d682216bf8699b8a9ad5d803472d131", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3763, "upload_time": "2019-06-21T10:04:36", "url": "https://files.pythonhosted.org/packages/9d/7d/45bbd001e1ee25dc284909093af162988842a14db96c806e441979f957ee/mframe-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2577dc575d516db2015741e4d4e47069", "sha256": "5a3dc48dad1dedd3f70f94966cc48f8b0e758ca3ffe807201ddde266c5b3085d" }, "downloads": -1, "filename": "mframe-0.2.1-py2.7.egg", "has_sig": false, "md5_digest": "2577dc575d516db2015741e4d4e47069", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 11689, "upload_time": "2019-06-26T11:38:34", "url": "https://files.pythonhosted.org/packages/da/50/878273800b574b3988eeaa5756a183d8a2ed1720072835e869fd3fbc3286/mframe-0.2.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b6c8573851e8e10b8a05711d7dbe541e", "sha256": "8c298d50ec287abb04d6ec7bd1e4b36cd8d87251efeb632a5c19f0fb2f51a559" }, "downloads": -1, "filename": "mframe-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b6c8573851e8e10b8a05711d7dbe541e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3714, "upload_time": "2019-06-26T11:38:32", "url": "https://files.pythonhosted.org/packages/c6/f5/4b18113c2b0e917172b573a8af592cfbce50681d9767631a1db61390adc9/mframe-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "478bf1a92738d19dd9e9d5029a16988d", "sha256": "fbc6fdb1fd19454d67fe386d3ecf9ce001a04b7645e41730fc708acbbcfc1372" }, "downloads": -1, "filename": "mframe-0.2.1.tar.gz", "has_sig": false, "md5_digest": "478bf1a92738d19dd9e9d5029a16988d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4105, "upload_time": "2019-06-26T11:38:35", "url": "https://files.pythonhosted.org/packages/35/c5/c4a80a5e535fd5ba00ccc95fd3b8b7ccd0e6e5378911f75f671ca1a470ef/mframe-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "6a0da47ed657f519d2e62981c7d4a400", "sha256": "49e59db7be14a08e4cff7ebc80aad2856bdca10f7da7d766302cff6ad1ed3217" }, "downloads": -1, "filename": "mframe-0.2.2-py2.7.egg", "has_sig": false, "md5_digest": "6a0da47ed657f519d2e62981c7d4a400", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 12270, "upload_time": "2019-06-27T14:24:34", "url": "https://files.pythonhosted.org/packages/55/65/864a59ac5ce91cb18cf49579a0d7a16ae17125f73b4de4522c6f2b724bdb/mframe-0.2.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "210812974ad66bfeca507548f2d6afbd", "sha256": "504b9d9da7c0eac4ab41a1c36463a453b7e93d9ecf99dc2035df6d24402a083d" }, "downloads": -1, "filename": "mframe-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "210812974ad66bfeca507548f2d6afbd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3818, "upload_time": "2019-06-27T14:24:32", "url": "https://files.pythonhosted.org/packages/71/2c/5e34e38e6ac3d82c4260b127e2b6c87a804119d857ea7e09a26ca77f431d/mframe-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0617ce5f4dead0ee5ee31acec7141855", "sha256": "81b23ab0e58f6017a8dfbe461d7b4fae090965ad3b66bdaa1e5d2c53fbaed9b2" }, "downloads": -1, "filename": "mframe-0.2.2.tar.gz", "has_sig": false, "md5_digest": "0617ce5f4dead0ee5ee31acec7141855", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4200, "upload_time": "2019-06-27T14:24:35", "url": "https://files.pythonhosted.org/packages/88/c7/8652d2d0239c5e627b98514127a4f7d07a5928b0869c587ebab4e1826296/mframe-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6a0da47ed657f519d2e62981c7d4a400", "sha256": "49e59db7be14a08e4cff7ebc80aad2856bdca10f7da7d766302cff6ad1ed3217" }, "downloads": -1, "filename": "mframe-0.2.2-py2.7.egg", "has_sig": false, "md5_digest": "6a0da47ed657f519d2e62981c7d4a400", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 12270, "upload_time": "2019-06-27T14:24:34", "url": "https://files.pythonhosted.org/packages/55/65/864a59ac5ce91cb18cf49579a0d7a16ae17125f73b4de4522c6f2b724bdb/mframe-0.2.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "210812974ad66bfeca507548f2d6afbd", "sha256": "504b9d9da7c0eac4ab41a1c36463a453b7e93d9ecf99dc2035df6d24402a083d" }, "downloads": -1, "filename": "mframe-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "210812974ad66bfeca507548f2d6afbd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3818, "upload_time": "2019-06-27T14:24:32", "url": "https://files.pythonhosted.org/packages/71/2c/5e34e38e6ac3d82c4260b127e2b6c87a804119d857ea7e09a26ca77f431d/mframe-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0617ce5f4dead0ee5ee31acec7141855", "sha256": "81b23ab0e58f6017a8dfbe461d7b4fae090965ad3b66bdaa1e5d2c53fbaed9b2" }, "downloads": -1, "filename": "mframe-0.2.2.tar.gz", "has_sig": false, "md5_digest": "0617ce5f4dead0ee5ee31acec7141855", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4200, "upload_time": "2019-06-27T14:24:35", "url": "https://files.pythonhosted.org/packages/88/c7/8652d2d0239c5e627b98514127a4f7d07a5928b0869c587ebab4e1826296/mframe-0.2.2.tar.gz" } ] }