trent


Nametrent JSON
Version 0.2.10 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2025-02-05 14:11:20
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10.12
licenseApache Software License
keywords sequence collection mapping stream functional iteration concurrency group by
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # trent
Convenient Collection/Sequence/Iterable processing for python.

Inspired by Clojure mapping and threading macros.

Supprot full python12 (and later vesrsion) typing, unlike default `map` and `filter` functions.
Which allows for production-grade development. 
Provides some work-around for python typing issues (like inability to filter out types from aggregate type).
Provides some auxiliary side funtions, like `first`, `second`, `nth`, `getter` etc.
Also, provide some additional usefull functionality, like `group_by` and `partition_by` (see more examples below)


#### What is it for
Writing **functional**, fully **typehinted** code in a style of Common Lisp / Clojure **mappings**, with convenience of Clojure funcall **threading** (->, ->>, as-> macroses), but with python native syntax (without trying to force-fit any other syntax in)

And more:
- Processing *Iterables* in a **functional** manner, with **lazy** evaluation (in most cases)
- Iterating, concating, grouping and collecting elements of given sequences quickly.
- **Prototyping** code in quick, readable and maintanable manner.
- Writing **fully typehinted** code (unlike default map/filter)
- Built-in **assyncronous** calls (mapping, filtering etc.)
- **Reducing** resulting iterables.


#### What is it NOT for
**trent** - is keps simple for a reason. Don't try to use it for more than it designed for.
- Not for high load / high performance Sequences processing (although - it supports parallel-map)
- Not for processing table-like data. Just use pandas/polars/pyspark for that. `trent` is more suitable for processing each element individually

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "trent",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10.12",
    "maintainer_email": "Vasyl Tsiura <morfey.rulit@gmail.com>",
    "keywords": "Sequence, Collection, mapping, stream, functional, iteration, concurrency, group, by",
    "author": null,
    "author_email": "Vasyl Tsiura <morfey.rulit@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/09/6f/2e4b221ef26c619c3b1fe75effb2512a9aba8b2fdf089bde6fdd612622fa/trent-0.2.10.tar.gz",
    "platform": null,
    "description": "# trent\nConvenient Collection/Sequence/Iterable processing for python.\n\nInspired by Clojure mapping and threading macros.\n\nSupprot full python12 (and later vesrsion) typing, unlike default `map` and `filter` functions.\nWhich allows for production-grade development. \nProvides some work-around for python typing issues (like inability to filter out types from aggregate type).\nProvides some auxiliary side funtions, like `first`, `second`, `nth`, `getter` etc.\nAlso, provide some additional usefull functionality, like `group_by` and `partition_by` (see more examples below)\n\n\n#### What is it for\nWriting **functional**, fully **typehinted** code in a style of Common Lisp / Clojure **mappings**, with convenience of Clojure funcall **threading** (->, ->>, as-> macroses), but with python native syntax (without trying to force-fit any other syntax in)\n\nAnd more:\n- Processing *Iterables* in a **functional** manner, with **lazy** evaluation (in most cases)\n- Iterating, concating, grouping and collecting elements of given sequences quickly.\n- **Prototyping** code in quick, readable and maintanable manner.\n- Writing **fully typehinted** code (unlike default map/filter)\n- Built-in **assyncronous** calls (mapping, filtering etc.)\n- **Reducing** resulting iterables.\n\n\n#### What is it NOT for\n**trent** - is keps simple for a reason. Don't try to use it for more than it designed for.\n- Not for high load / high performance Sequences processing (although - it supports parallel-map)\n- Not for processing table-like data. Just use pandas/polars/pyspark for that. `trent` is more suitable for processing each element individually\n",
    "bugtrack_url": null,
    "license": "Apache Software License",
    "summary": null,
    "version": "0.2.10",
    "project_urls": {
        "Homepage": "https://github.com/VasilevsVV/trent",
        "Issues": "https://github.com/VasilevsVV/trent/issues"
    },
    "split_keywords": [
        "sequence",
        " collection",
        " mapping",
        " stream",
        " functional",
        " iteration",
        " concurrency",
        " group",
        " by"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4a09790460ea40d8c16502f15a8b952a42a641ac6882d8a5b606e867200cae11",
                "md5": "1f94eba278ba4bba7e0d16b1cd4bc177",
                "sha256": "a63d6f3b9431915d457a064b17ac474ed7c43bada229d364102a8dd985ef50af"
            },
            "downloads": -1,
            "filename": "trent-0.2.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1f94eba278ba4bba7e0d16b1cd4bc177",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10.12",
            "size": 13860,
            "upload_time": "2025-02-05T14:11:19",
            "upload_time_iso_8601": "2025-02-05T14:11:19.534621Z",
            "url": "https://files.pythonhosted.org/packages/4a/09/790460ea40d8c16502f15a8b952a42a641ac6882d8a5b606e867200cae11/trent-0.2.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "096f2e4b221ef26c619c3b1fe75effb2512a9aba8b2fdf089bde6fdd612622fa",
                "md5": "f30ab24f39da785c7e7f6fcd96dbde74",
                "sha256": "d78aba101e2c40d6ca4d8e3ff8cdcbb56ab0741fab99a9c7058f621716353586"
            },
            "downloads": -1,
            "filename": "trent-0.2.10.tar.gz",
            "has_sig": false,
            "md5_digest": "f30ab24f39da785c7e7f6fcd96dbde74",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10.12",
            "size": 13132,
            "upload_time": "2025-02-05T14:11:20",
            "upload_time_iso_8601": "2025-02-05T14:11:20.602903Z",
            "url": "https://files.pythonhosted.org/packages/09/6f/2e4b221ef26c619c3b1fe75effb2512a9aba8b2fdf089bde6fdd612622fa/trent-0.2.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-05 14:11:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "VasilevsVV",
    "github_project": "trent",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "trent"
}
        
Elapsed time: 0.41994s