happydata


Namehappydata JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/daqiancode/happydata
Summarydata loading,writing, transforming without third party library
upload_time2025-07-30 06:12:30
maintainerNone
docs_urlNone
authorDaqian
requires_python>=3.12
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # happydata
happy data loading,writing, transforming without third party library



## Installation
```bash
pip install happydata
```

## Usage
```python
from happydata import *
import io

class User:
    def __init__(self, name:str, age:int):
        self.name = name
        self.age = age
tmp_path = 'test_users.jsonl'
# jsonl
write_jsonl([User('name', 18), User('张三', 19)], tmp_path)
assert load_jsonl(tmp_path) == [{'name': 'name', 'age': 18}, {'name': '张三', 'age': 19}]

# jsonl.gz
records = load_jsonl_gz('test_users.jsonl.gz')
write_jsonl_gz(records, 'test_users.jsonl.gz')
# lines
for line in read_lines('test_users.jsonl'):
    print(line)
write_lines(lines, 'test_users.jsonl')

# tar.gz
for item, f in read_tar_gz(tmp_path):
    print(item.name)
    bs= f.read()
write_tar_gz(records, {
    'test.txt': io.BytesIO(b'hello'),
    }, 'test.tar.gz')

# zip
for name, f in read_zip(tmp_path):
    print(name)
    bs = f.read()
write_zip({
    'test.txt': io.BytesIO(b'hello'),
    }, 'test.zip')

# dir
files = load_dir('test_dir')

# commands:
state,stdout,stderr = run('ls')

# transform:
groupby([{'name': 'name', 'age': 18}, {'name': '张三', 'age': 19}], 'name')

```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/daqiancode/happydata",
    "name": "happydata",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": null,
    "author": "Daqian",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/93/45/50c93a071fca7dbc4e21ace10d9e7fa984a2fb5c706f46ba8cc78a0afa55/happydata-0.1.0.tar.gz",
    "platform": "Independant",
    "description": "# happydata\nhappy data loading,writing, transforming without third party library\n\n\n\n## Installation\n```bash\npip install happydata\n```\n\n## Usage\n```python\nfrom happydata import *\nimport io\n\nclass User:\n    def __init__(self, name:str, age:int):\n        self.name = name\n        self.age = age\ntmp_path = 'test_users.jsonl'\n# jsonl\nwrite_jsonl([User('name', 18), User('\u5f20\u4e09', 19)], tmp_path)\nassert load_jsonl(tmp_path) == [{'name': 'name', 'age': 18}, {'name': '\u5f20\u4e09', 'age': 19}]\n\n# jsonl.gz\nrecords = load_jsonl_gz('test_users.jsonl.gz')\nwrite_jsonl_gz(records, 'test_users.jsonl.gz')\n# lines\nfor line in read_lines('test_users.jsonl'):\n    print(line)\nwrite_lines(lines, 'test_users.jsonl')\n\n# tar.gz\nfor item, f in read_tar_gz(tmp_path):\n    print(item.name)\n    bs= f.read()\nwrite_tar_gz(records, {\n    'test.txt': io.BytesIO(b'hello'),\n    }, 'test.tar.gz')\n\n# zip\nfor name, f in read_zip(tmp_path):\n    print(name)\n    bs = f.read()\nwrite_zip({\n    'test.txt': io.BytesIO(b'hello'),\n    }, 'test.zip')\n\n# dir\nfiles = load_dir('test_dir')\n\n# commands:\nstate,stdout,stderr = run('ls')\n\n# transform:\ngroupby([{'name': 'name', 'age': 18}, {'name': '\u5f20\u4e09', 'age': 19}], 'name')\n\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "data loading,writing, transforming without third party library",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/daqiancode/happydata"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "510256645bd8f7f92ff27342426c8ecdb5cc52cbe3873900680e85d8d1464ccf",
                "md5": "6def2cb5fbfd833deb59813b7256f2bb",
                "sha256": "05612616a4e3dbf68e3fb8d2895908cdf8877683c87a48953c7354dece2007c6"
            },
            "downloads": -1,
            "filename": "happydata-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6def2cb5fbfd833deb59813b7256f2bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 6957,
            "upload_time": "2025-07-30T06:12:29",
            "upload_time_iso_8601": "2025-07-30T06:12:29.098903Z",
            "url": "https://files.pythonhosted.org/packages/51/02/56645bd8f7f92ff27342426c8ecdb5cc52cbe3873900680e85d8d1464ccf/happydata-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "934550c93a071fca7dbc4e21ace10d9e7fa984a2fb5c706f46ba8cc78a0afa55",
                "md5": "c98ef1e7e854b9d9b43f756356b78ccc",
                "sha256": "d4664e3e04ea019ebcee92656849cbb6849353d4d844c18664cf51845e6310ae"
            },
            "downloads": -1,
            "filename": "happydata-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c98ef1e7e854b9d9b43f756356b78ccc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 6659,
            "upload_time": "2025-07-30T06:12:30",
            "upload_time_iso_8601": "2025-07-30T06:12:30.289803Z",
            "url": "https://files.pythonhosted.org/packages/93/45/50c93a071fca7dbc4e21ace10d9e7fa984a2fb5c706f46ba8cc78a0afa55/happydata-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-30 06:12:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "daqiancode",
    "github_project": "happydata",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "happydata"
}
        
Elapsed time: 2.48587s