{"id":16971685,"url":"https://github.com/juancarlospaco/thatlib","last_synced_at":"2025-04-10T00:19:32.920Z","repository":{"id":45919084,"uuid":"366135614","full_name":"juancarlospaco/thatlib","owner":"juancarlospaco","description":"Faster pathlib for Python","archived":false,"fork":false,"pushed_at":"2025-03-14T03:10:27.000Z","size":727,"stargazers_count":53,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"nim","last_synced_at":"2025-04-02T22:06:48.094Z","etag":null,"topics":["cython","memory-safe","null-safe","path","python","speed","speedup-python","static-memory-allocation","statically-typed","type-safe"],"latest_commit_sha":null,"homepage":"https://juancarlospaco.github.io/thatlib","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juancarlospaco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://gist.github.com/juancarlospaco/37da34ed13a609663f55f4466c4dbc3e"]}},"created_at":"2021-05-10T18:12:06.000Z","updated_at":"2025-03-14T03:10:30.000Z","dependencies_parsed_at":"2023-10-11T13:04:51.352Z","dependency_job_id":"3c816c8f-55a9-4441-9448-13c0a581a102","html_url":"https://github.com/juancarlospaco/thatlib","commit_stats":{"total_commits":183,"total_committers":17,"mean_commits":"10.764705882352942","dds":0.08743169398907102,"last_synced_commit":"1b90ff627a061957a67414759e38882329e3b837"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juancarlospaco%2Fthatlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juancarlospaco%2Fthatlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juancarlospaco%2Fthatlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juancarlospaco%2Fthatlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juancarlospaco","download_url":"https://codeload.github.com/juancarlospaco/thatlib/tar.gz/refs/heads/nim","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131548,"owners_count":21052873,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cython","memory-safe","null-safe","path","python","speed","speedup-python","static-memory-allocation","statically-typed","type-safe"],"created_at":"2024-10-14T00:53:48.807Z","updated_at":"2025-04-10T00:19:32.897Z","avatar_url":"https://github.com/juancarlospaco.png","language":"Python","readme":"# ThatLib\n\n![](https://raw.githubusercontent.com/juancarlospaco/thatlib/nim/thatlib-logo.jpg \"Faster pathlib for Python\")\n\n[![Benchmark Results](https://raw.githubusercontent.com/juancarlospaco/thatlib/nim/results_graph.png \"Benchmark Results\")](https://youtu.be/QiKwnlyhKrk?t=5)\n\n![](https://img.shields.io/github/languages/top/juancarlospaco/thatlib?style=for-the-badge)\n![](https://img.shields.io/github/languages/count/juancarlospaco/thatlib?logoColor=green\u0026style=for-the-badge)\n![](https://img.shields.io/github/stars/juancarlospaco/thatlib?style=for-the-badge)\n![](https://img.shields.io/github/languages/code-size/juancarlospaco/thatlib?style=for-the-badge)\n![](https://img.shields.io/github/issues-raw/juancarlospaco/thatlib?style=for-the-badge)\n![](https://img.shields.io/github/issues-pr-raw/juancarlospaco/thatlib?style=for-the-badge)\n![](https://img.shields.io/github/last-commit/juancarlospaco/thatlib?style=for-the-badge)\n\n\n# Using Pathlib can make your project +50x Slower\n\n[![Using Pathlib can make your project 50x Slower](https://img.youtube.com/vi/tFrh9hKMS6Y/0.jpg)](https://www.youtube.com/watch?v=tFrh9hKMS6Y)\n\n\n# Use\n\n- Same API as `pathlib`, nothing new to remember.\n- [See the examples folder (20+ simple tiny examples).](https://github.com/juancarlospaco/thatlib/tree/nim/examples)\n- https://juancarlospaco.github.io/thatlib\n\n\n# Type-safe DotEnv\n\nThatlib has builtin support for Type-safe `.env`. Type-safe `.env` file is just a `.env` but Typed.\n\nTypes are enforced via a comment, so it is still a \"vanilla\" `.env`.\n\nType-safe `.env` file can be used with unsafe `.env` parsers, legacy parsers will ignore the comment.\n\nKeys must be a non-empty ASCII string `[a-zA-Z0-9_]`, keys are validated. Key-Value separator must be `=`.\n\nParses the same `.env` file from the vanilla implementation tests.\n\nSeveral orders of magnitude faster than the vanilla implementation. Implementation is ~ 50 lines of code.\n\nExamples:\n\n```ini\n# This is a comment\nDB_HOST=localhost  # string\nDB_USER=root       # string\nDB_PASS=\"123\"      # string\nDB_TIMEOUT=42      # int\nDELAY=3.14         # float\nACTIVE=true        # bool\n```\n\n- `.env` file example https://github.com/juancarlospaco/thatlib/blob/nim/examples/.env\n- Python use example https://github.com/juancarlospaco/thatlib/blob/nim/examples/example_dotenv.py\n\n\n# Requisites\n\n- Python 1.x or 2.x or 3.x, 64Bit, CPython implementation.\n\n\n# PYPI\n\n- https://pypi.org/project/thatlib\n\n\n# Dependencies\n\n- None.\n\n\n# 💰➡️🍕\n\n\u003cdetails\u003e \n\u003csummary title=\"Send Bitcoin\"\u003e\u003ckbd\u003e Bitcoin BTC \u003c/kbd\u003e\u003c/summary\u003e\n\n**BEP20 Binance Smart Chain Network BSC**\n```\n0xb78c4cf63274bb22f83481986157d234105ac17e\n```\n**BTC Bitcoin Network**\n```\n1Pnf45MgGgY32X4KDNJbutnpx96E4FxqVi\n```\n**Lightning Network**\n```\njuancarlospaco@bitrefill.me\n```  \n\u003c/details\u003e\n\n\u003cdetails\u003e \n\u003csummary title=\"Send Ethereum and DAI\"\u003e\u003ckbd\u003e Ethereum ETH \u003c/kbd\u003e \u003ckbd\u003e Dai DAI \u003c/kbd\u003e \u003ckbd\u003e Uniswap UNI \u003c/kbd\u003e \u003ckbd\u003e Axie Infinity AXS \u003c/kbd\u003e \u003ckbd\u003e Smooth Love Potion SLP \u003c/kbd\u003e \u003ckbd\u003e Uniswap UNI \u003c/kbd\u003e \u003ckbd\u003e USDC \u003c/kbd\u003e \u003c/summary\u003e\n\n**BEP20 Binance Smart Chain Network BSC**\n```\n0xb78c4cf63274bb22f83481986157d234105ac17e\n```\n**ERC20 Ethereum Network**\n```\n0xb78c4cf63274bb22f83481986157d234105ac17e\n```\n\u003c/details\u003e\n\u003cdetails\u003e \n\u003csummary title=\"Send Tether\"\u003e\u003ckbd\u003e Tether USDT \u003c/kbd\u003e\u003c/summary\u003e\n\n**BEP20 Binance Smart Chain Network BSC**\n```\n0xb78c4cf63274bb22f83481986157d234105ac17e\n```\n**ERC20 Ethereum Network**\n```\n0xb78c4cf63274bb22f83481986157d234105ac17e\n```\n**TRC20 Tron Network**\n```\nTWGft53WgWvH2mnqR8ZUXq1GD8M4gZ4Yfu\n```\n\u003c/details\u003e\n\u003cdetails\u003e \n\u003csummary title=\"Send Solana\"\u003e\u003ckbd\u003e Solana SOL \u003c/kbd\u003e\u003c/summary\u003e\n\n**BEP20 Binance Smart Chain Network BSC**\n```\n0xb78c4cf63274bb22f83481986157d234105ac17e\n```\n**SOL Solana Network**\n```\nFKaPSd8kTUpH7Q76d77toy1jjPGpZSxR4xbhQHyCMSGq\n```\n\u003c/details\u003e\n\u003cdetails\u003e \n\u003csummary title=\"Send Cardano\"\u003e\u003ckbd\u003e Cardano ADA \u003c/kbd\u003e\u003c/summary\u003e\n\n**BEP20 Binance Smart Chain Network BSC**\n```\n0xb78c4cf63274bb22f83481986157d234105ac17e\n```\n**ADA Cardano Network**\n```\nDdzFFzCqrht9Y1r4Yx7ouqG9yJNWeXFt69xavLdaeXdu4cQi2yXgNWagzh52o9k9YRh3ussHnBnDrg7v7W2hSXWXfBhbo2ooUKRFMieM\n```\n\u003c/details\u003e\n\u003cdetails\u003e \n\u003csummary title=\"Send Sandbox\"\u003e\u003ckbd\u003e Sandbox SAND \u003c/kbd\u003e \u003ckbd\u003e Decentraland MANA \u003c/kbd\u003e\u003c/summary\u003e\n\n**ERC20 Ethereum Network**\n```\n0xb78c4cf63274bb22f83481986157d234105ac17e\n```\n\u003c/details\u003e\n\u003cdetails\u003e \n\u003csummary title=\"Send Algorand\"\u003e\u003ckbd\u003e Algorand ALGO \u003c/kbd\u003e\u003c/summary\u003e\n\n**ALGO Algorand Network**\n```\nWM54DHVZQIQDVTHMPOH6FEZ4U2AU3OBPGAFTHSCYWMFE7ETKCUUOYAW24Q\n```\n\u003c/details\u003e\n\u003cdetails\u003e \n\u003csummary title=\"Send Polkadot\"\u003e\u003ckbd\u003e Polkadot DOT \u003c/kbd\u003e\u003c/summary\u003e\n\n**DOT Network**\n```\n13GdxHQbQA1K6i7Ctf781nQkhQhoVhGgUnrjn9EvcJnYWCEd\n```\n**BEP20 Binance Smart Chain Network BSC**\n```\n0xb78c4cf63274bb22f83481986157d234105ac17e\n```  \n\u003c/details\u003e\n\u003cdetails\u003e \n\u003csummary title=\"Send via Binance Pay\"\u003e Binance \u003c/summary\u003e\n  \n[https://pay.binance.com/en/checkout/e92e536210fd4f62b426ea7ee65b49c3](https://pay.binance.com/en/checkout/e92e536210fd4f62b426ea7ee65b49c3 \"Send via Binance Pay\")\n\u003c/details\u003e\n\n\n# Stars\n\n![](https://starchart.cc/juancarlospaco/thatlib.svg)\n:star: [@juancarlospaco](https://github.com/juancarlospaco '2022-02-16')\t\n:star: [@hamidb80](https://github.com/hamidb80 '2022-02-16')\t\n:star: [@nikitavoloboev](https://github.com/nikitavoloboev '2022-02-16')\t\n:star: [@mxschmitt](https://github.com/mxschmitt '2022-02-17')\t\n:star: [@harrtho](https://github.com/harrtho '2022-02-17')\t\n:star: [@kangkot](https://github.com/kangkot '2022-04-12')\t\n:star: [@crox-safe](https://github.com/crox-safe '2022-04-13')\t\n:star: [@carno](https://github.com/carno '2022-06-01')\t\n:star: [@xdroff](https://github.com/xdroff '2022-06-01')\t\n:star: [@tumregels](https://github.com/tumregels '2022-06-18')\t\n:star: [@Pebaz](https://github.com/Pebaz '2022-07-17')\t\n:star: [@Siss3l](https://github.com/Siss3l '2022-11-19')\t\n:star: [@daweedkob](https://github.com/daweedkob '2022-11-19')\t\n:star: [@xilicode](https://github.com/xilicode '2022-11-25')\t\n:star: [@pietroppeter](https://github.com/pietroppeter '2023-01-20')\t\n:star: [@linwaytin](https://github.com/linwaytin '2023-01-22')\t\n:star: [@thomas-mckay](https://github.com/thomas-mckay '2023-06-09')\t\n:star: [@hansalemaos](https://github.com/hansalemaos '2023-08-07')\t\n:star: [@benzolium](https://github.com/benzolium '2023-08-09')\t\n:star: [@T145](https://github.com/T145 '2023-08-13')\t\n:star: [@Xynonners](https://github.com/Xynonners '2023-08-13')\t\n:star: [@BlackNurse](https://github.com/BlackNurse '2023-08-19')\t\n:star: [@xjzh123](https://github.com/xjzh123 '2023-10-11')\t\n:star: [@JoeBarouneD](https://github.com/JoeBarouneD '2023-12-17')\t\n:star: [@wrath-codes](https://github.com/wrath-codes '2025-01-12')\t\n:star: [@wrath-codes](https://github.com/wrath-codes '2025-03-14')\t\n","funding_links":["https://gist.github.com/juancarlospaco/37da34ed13a609663f55f4466c4dbc3e"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuancarlospaco%2Fthatlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuancarlospaco%2Fthatlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuancarlospaco%2Fthatlib/lists"}