atikin-utils


Nameatikin-utils JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummarySmall collection of daily utilities for developers: string helpers, friendly datetime utils, file helpers (auto backup/create) and a tiny env manager. created by Atikin Verse.
upload_time2025-09-02 15:46:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords utilities devtools datetime date time timestamp humanize formatting env environment dotenv config settings configuration variables file files filesystem backup auto-backup file-helpers file-io strings string-utils text text-processing case-conversion slugify helper helpers shortcuts toolkit utils utility-functions developer-tools python-utilities productivity automation scripting cli python-tools everyday-tools handy-utils data data-utils data-tools file-management lightweight atikin atikin-verse
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🛠️ Atikin-Utils

[![PyPI version](https://img.shields.io/pypi/v/atikin-utils.svg)](https://pypi.org/project/atikin-utils/)
[![Python versions](https://img.shields.io/pypi/pyversions/atikin-utils.svg)](https://pypi.org/project/atikin-utils/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

**Atikin-Utils** is a lightweight collection of everyday developer utilities —
string formatting shortcuts, friendly datetime helpers, file handling (auto create + backup), `.env` manager, logging, config, network helpers, CLI utilities, security helpers, decorators, and async helpers.

Built by **Atikin Verse** for developers who love speed, simplicity, and productivity 🚀.

---

## ✨ Features

* 🔤 **String Helpers** → snake\_case, camelCase, kebab-case, slugify, truncate, safe\_format
* ⏰ **Date & Time** → now, today\_str, format\_datetime, timestamps, humanize\_timedelta
* 📂 **File Handling** → auto\_create, auto\_backup (with rotation), atomic writes, ensure\_dir
* ⚙️ **Environment Manager** → simple `.env` loader, get/set variables, type casting, persist back to file
* 📝 **Logging** → log\_info, log\_error, log\_warn
* ⚡ **Config Loader** → load JSON/YAML configs with defaults
* 🌐 **Network Helpers** → get\_json
* 💻 **CLI Utilities** → success, error, warn
* 🔒 **Security Helpers** → gen\_token, sha256
* ⏱️ **Decorators** → timeit, retry
* ⚡ **Async Helpers** → run\_async
* ✅ **Zero dependencies** → only Python standard library (except optional: `requests`, `rich`, `pyyaml`)

---

## 📦 Installation

Install via **PyPI**:

```bash
pip install atikin-utils
```

Or install locally for development:

```bash
git clone https://github.com/atikinverse/atikin-utils.git
cd atikin-utils
python -m venv .venv
# Windows PowerShell
.venv\Scripts\Activate.ps1
# Linux / Mac
source .venv/bin/activate
pip install -e .
```

---

## 🚀 Usage

### 🔤 String Helpers

```python
from atikin_utils import snake_case, camel_case, kebab_case, slugify, safe_format

print(snake_case("Hello World Example"))   # hello_world_example
print(camel_case("hello_world example"))   # HelloWorldExample
print(kebab_case("Hello World_Test"))      # hello-world-test
print(slugify("Hello, World!"))            # hello-world
print(safe_format("Hi {name} {x}", name="Jamshed"))  # Hi Jamshed {x}
```

### ⏰ Date & Time

```python
from atikin_utils import now, today_str, format_datetime, humanize_timedelta
from datetime import timedelta

print(now())                        # current datetime
print(today_str())                  # "2025-09-02"
print(format_datetime(now()))       # "2025-09-02 20:30:45"
print(humanize_timedelta(timedelta(days=2)))  # "2 days"
```

### 📂 File Helpers

```python
from atikin_utils import auto_create, auto_backup

file = auto_create("data.txt", "hello world")
backup = auto_backup("data.txt")
print("Backup created:", backup)
```

### ⚙️ Env Manager

```python
from atikin_utils import Env

env = Env(".env")
env.load()

print(env.get("SECRET_KEY", default="not-set"))
env.set("NEW_KEY", "value", persist=True)
```

### 📝 Logging + Config + Paths

```python
from atikin_utils import log_info, log_error, load_config, ensure_dir_path

log_info("Server started")
log_error("An error occurred")

cfg = load_config("config.json", defaults={"port":8000})
print(cfg)

ensure_dir_path("logs/")
```

### 🌐 Network + CLI + Security

```python
from atikin_utils import get_json, success, gen_token, sha256

data = get_json("https://api.github.com")
success("Fetched GitHub API!")
print(gen_token(16))      # e.g., "aX8bG72kPz9QwLmR"
print(sha256("hello"))    # SHA-256 hash
```

### ⏱️ Decorators + Async Helpers

```python
from atikin_utils import timeit, retry, run_async
import asyncio

@timeit
@retry(tries=3)
def fetch_data():
    print("Fetching data...")
    return 42

print(fetch_data())

async def main():
    result = await run_async(fetch_data)
    print("Async result:", result)

asyncio.run(main())
```

---

## 📜 License

This project is licensed under the [MIT License](LICENSE).
Copyright © 2025 **Atikin Verse**

---

## 🌐 Follow Us

| Platform  | Username    |
| --------- | ----------- |
| Facebook  | atikinverse |
| Instagram | atikinverse |
| LinkedIn  | atikinverse |
| X/Twitter | atikinverse |
| Threads   | atikinverse |
| Pinterest | atikinverse |
| Quora     | atikinverse |
| Reddit    | atikinverse |
| Tumblr    | atikinverse |
| Snapchat  | atikinverse |
| Skype     | atikinverse |
| GitHub    | atikinverse |

---

<div align="center">  
Made with ❤️ by the **Atikin Data** 🚀  
</div>


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "atikin-utils",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "utilities, devtools, datetime, date, time, timestamp, humanize, formatting, env, environment, dotenv, config, settings, configuration, variables, file, files, filesystem, backup, auto-backup, file-helpers, file-io, strings, string-utils, text, text-processing, case-conversion, slugify, helper, helpers, shortcuts, toolkit, utils, utility-functions, developer-tools, python-utilities, productivity, automation, scripting, cli, python-tools, everyday-tools, handy-utils, data, data-utils, data-tools, file-management, lightweight, atikin, atikin-verse",
    "author": null,
    "author_email": "Atikin Verse <atikinverse@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/77/47/2db1dcef37f881c7cf36686e462a99676201c7d3b7f1ab4aaf6ec4d471f9/atikin_utils-0.1.0.tar.gz",
    "platform": null,
    "description": "# \ud83d\udee0\ufe0f Atikin-Utils\r\n\r\n[![PyPI version](https://img.shields.io/pypi/v/atikin-utils.svg)](https://pypi.org/project/atikin-utils/)\r\n[![Python versions](https://img.shields.io/pypi/pyversions/atikin-utils.svg)](https://pypi.org/project/atikin-utils/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\r\n\r\n**Atikin-Utils** is a lightweight collection of everyday developer utilities \u2014\r\nstring formatting shortcuts, friendly datetime helpers, file handling (auto create + backup), `.env` manager, logging, config, network helpers, CLI utilities, security helpers, decorators, and async helpers.\r\n\r\nBuilt by **Atikin Verse** for developers who love speed, simplicity, and productivity \ud83d\ude80.\r\n\r\n---\r\n\r\n## \u2728 Features\r\n\r\n* \ud83d\udd24 **String Helpers** \u2192 snake\\_case, camelCase, kebab-case, slugify, truncate, safe\\_format\r\n* \u23f0 **Date & Time** \u2192 now, today\\_str, format\\_datetime, timestamps, humanize\\_timedelta\r\n* \ud83d\udcc2 **File Handling** \u2192 auto\\_create, auto\\_backup (with rotation), atomic writes, ensure\\_dir\r\n* \u2699\ufe0f **Environment Manager** \u2192 simple `.env` loader, get/set variables, type casting, persist back to file\r\n* \ud83d\udcdd **Logging** \u2192 log\\_info, log\\_error, log\\_warn\r\n* \u26a1 **Config Loader** \u2192 load JSON/YAML configs with defaults\r\n* \ud83c\udf10 **Network Helpers** \u2192 get\\_json\r\n* \ud83d\udcbb **CLI Utilities** \u2192 success, error, warn\r\n* \ud83d\udd12 **Security Helpers** \u2192 gen\\_token, sha256\r\n* \u23f1\ufe0f **Decorators** \u2192 timeit, retry\r\n* \u26a1 **Async Helpers** \u2192 run\\_async\r\n* \u2705 **Zero dependencies** \u2192 only Python standard library (except optional: `requests`, `rich`, `pyyaml`)\r\n\r\n---\r\n\r\n## \ud83d\udce6 Installation\r\n\r\nInstall via **PyPI**:\r\n\r\n```bash\r\npip install atikin-utils\r\n```\r\n\r\nOr install locally for development:\r\n\r\n```bash\r\ngit clone https://github.com/atikinverse/atikin-utils.git\r\ncd atikin-utils\r\npython -m venv .venv\r\n# Windows PowerShell\r\n.venv\\Scripts\\Activate.ps1\r\n# Linux / Mac\r\nsource .venv/bin/activate\r\npip install -e .\r\n```\r\n\r\n---\r\n\r\n## \ud83d\ude80 Usage\r\n\r\n### \ud83d\udd24 String Helpers\r\n\r\n```python\r\nfrom atikin_utils import snake_case, camel_case, kebab_case, slugify, safe_format\r\n\r\nprint(snake_case(\"Hello World Example\"))   # hello_world_example\r\nprint(camel_case(\"hello_world example\"))   # HelloWorldExample\r\nprint(kebab_case(\"Hello World_Test\"))      # hello-world-test\r\nprint(slugify(\"Hello, World!\"))            # hello-world\r\nprint(safe_format(\"Hi {name} {x}\", name=\"Jamshed\"))  # Hi Jamshed {x}\r\n```\r\n\r\n### \u23f0 Date & Time\r\n\r\n```python\r\nfrom atikin_utils import now, today_str, format_datetime, humanize_timedelta\r\nfrom datetime import timedelta\r\n\r\nprint(now())                        # current datetime\r\nprint(today_str())                  # \"2025-09-02\"\r\nprint(format_datetime(now()))       # \"2025-09-02 20:30:45\"\r\nprint(humanize_timedelta(timedelta(days=2)))  # \"2 days\"\r\n```\r\n\r\n### \ud83d\udcc2 File Helpers\r\n\r\n```python\r\nfrom atikin_utils import auto_create, auto_backup\r\n\r\nfile = auto_create(\"data.txt\", \"hello world\")\r\nbackup = auto_backup(\"data.txt\")\r\nprint(\"Backup created:\", backup)\r\n```\r\n\r\n### \u2699\ufe0f Env Manager\r\n\r\n```python\r\nfrom atikin_utils import Env\r\n\r\nenv = Env(\".env\")\r\nenv.load()\r\n\r\nprint(env.get(\"SECRET_KEY\", default=\"not-set\"))\r\nenv.set(\"NEW_KEY\", \"value\", persist=True)\r\n```\r\n\r\n### \ud83d\udcdd Logging + Config + Paths\r\n\r\n```python\r\nfrom atikin_utils import log_info, log_error, load_config, ensure_dir_path\r\n\r\nlog_info(\"Server started\")\r\nlog_error(\"An error occurred\")\r\n\r\ncfg = load_config(\"config.json\", defaults={\"port\":8000})\r\nprint(cfg)\r\n\r\nensure_dir_path(\"logs/\")\r\n```\r\n\r\n### \ud83c\udf10 Network + CLI + Security\r\n\r\n```python\r\nfrom atikin_utils import get_json, success, gen_token, sha256\r\n\r\ndata = get_json(\"https://api.github.com\")\r\nsuccess(\"Fetched GitHub API!\")\r\nprint(gen_token(16))      # e.g., \"aX8bG72kPz9QwLmR\"\r\nprint(sha256(\"hello\"))    # SHA-256 hash\r\n```\r\n\r\n### \u23f1\ufe0f Decorators + Async Helpers\r\n\r\n```python\r\nfrom atikin_utils import timeit, retry, run_async\r\nimport asyncio\r\n\r\n@timeit\r\n@retry(tries=3)\r\ndef fetch_data():\r\n    print(\"Fetching data...\")\r\n    return 42\r\n\r\nprint(fetch_data())\r\n\r\nasync def main():\r\n    result = await run_async(fetch_data)\r\n    print(\"Async result:\", result)\r\n\r\nasyncio.run(main())\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udcdc License\r\n\r\nThis project is licensed under the [MIT License](LICENSE).\r\nCopyright \u00a9 2025 **Atikin Verse**\r\n\r\n---\r\n\r\n## \ud83c\udf10 Follow Us\r\n\r\n| Platform  | Username    |\r\n| --------- | ----------- |\r\n| Facebook  | atikinverse |\r\n| Instagram | atikinverse |\r\n| LinkedIn  | atikinverse |\r\n| X/Twitter | atikinverse |\r\n| Threads   | atikinverse |\r\n| Pinterest | atikinverse |\r\n| Quora     | atikinverse |\r\n| Reddit    | atikinverse |\r\n| Tumblr    | atikinverse |\r\n| Snapchat  | atikinverse |\r\n| Skype     | atikinverse |\r\n| GitHub    | atikinverse |\r\n\r\n---\r\n\r\n<div align=\"center\">  \r\nMade with \u2764\ufe0f by the **Atikin Data** \ud83d\ude80  \r\n</div>\r\n\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Small collection of daily utilities for developers: string helpers, friendly datetime utils, file helpers (auto backup/create) and a tiny env manager. created by Atikin Verse.",
    "version": "0.1.0",
    "project_urls": null,
    "split_keywords": [
        "utilities",
        " devtools",
        " datetime",
        " date",
        " time",
        " timestamp",
        " humanize",
        " formatting",
        " env",
        " environment",
        " dotenv",
        " config",
        " settings",
        " configuration",
        " variables",
        " file",
        " files",
        " filesystem",
        " backup",
        " auto-backup",
        " file-helpers",
        " file-io",
        " strings",
        " string-utils",
        " text",
        " text-processing",
        " case-conversion",
        " slugify",
        " helper",
        " helpers",
        " shortcuts",
        " toolkit",
        " utils",
        " utility-functions",
        " developer-tools",
        " python-utilities",
        " productivity",
        " automation",
        " scripting",
        " cli",
        " python-tools",
        " everyday-tools",
        " handy-utils",
        " data",
        " data-utils",
        " data-tools",
        " file-management",
        " lightweight",
        " atikin",
        " atikin-verse"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0e24782b02edb7af6c54a06108d7fea7cade63bd09a12f902a5d1c8d827f24d7",
                "md5": "2265d3b090deb064132d3edcf24b5cda",
                "sha256": "5d4ea21253e10ea2c86cceef1de8f79b316b277cbf518a09f2b5bf3ccf7d08d7"
            },
            "downloads": -1,
            "filename": "atikin_utils-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2265d3b090deb064132d3edcf24b5cda",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 12425,
            "upload_time": "2025-09-02T15:46:24",
            "upload_time_iso_8601": "2025-09-02T15:46:24.697421Z",
            "url": "https://files.pythonhosted.org/packages/0e/24/782b02edb7af6c54a06108d7fea7cade63bd09a12f902a5d1c8d827f24d7/atikin_utils-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "77472db1dcef37f881c7cf36686e462a99676201c7d3b7f1ab4aaf6ec4d471f9",
                "md5": "c0ba11c191b9211f58cca2e7e9d2ad78",
                "sha256": "83a4305da396b82beaa8daeb1cc15f782383944c775327ca5e6cce3b9360edec"
            },
            "downloads": -1,
            "filename": "atikin_utils-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c0ba11c191b9211f58cca2e7e9d2ad78",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 12793,
            "upload_time": "2025-09-02T15:46:25",
            "upload_time_iso_8601": "2025-09-02T15:46:25.824014Z",
            "url": "https://files.pythonhosted.org/packages/77/47/2db1dcef37f881c7cf36686e462a99676201c7d3b7f1ab4aaf6ec4d471f9/atikin_utils-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-02 15:46:25",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "atikin-utils"
}
        
Elapsed time: 2.10338s