Parsing & Analysis¶
15 endpoints for parsing and analysing developer inputs — regex patterns, cron expressions, timestamps, user-agents, IP/URL/HTTP structures, colours, number bases, semver strings, file permissions, environment files, and card numbers.
| Endpoint | Purpose |
|---|---|
POST /v1/regex-test |
Test a regex pattern against text |
POST /v1/regex-extract |
Extract capture groups from text |
GET /v1/cron-parse |
Parse a cron expression and return next run times |
GET /v1/cron-next |
Get next execution times for a cron expression |
GET /v1/timestamp |
Convert Unix timestamps ↔ ISO 8601 |
POST /v1/user-agent |
Parse a User-Agent string |
GET /v1/ip-calc |
Calculate IP network details from CIDR |
GET /v1/url-parse |
Decompose a URL into components |
POST /v1/http-header-parse |
Parse raw HTTP headers |
GET /v1/color-convert |
Convert a colour between hex, RGB, HSL, and more |
GET /v1/base-convert |
Convert a number between bases (2–36) |
POST /v1/semver-compare |
Compare and sort semantic version strings |
GET /v1/chmod-calc |
Convert between octal and symbolic file permissions |
POST /v1/env-parse |
Parse a .env file into key-value pairs |
Python SDK Examples¶
Test a regex pattern¶
from toolkitapi import DevTools
with DevTools(api_key="tk_...") as dt:
result = dt.regex_test(
pattern=r"^\d{4}-\d{2}-\d{2}$",
text="2024-06-15",
flags="i",
)
print(result["matched"]) # True
print(result["matches"]) # List of match objects
Extract capture groups¶
from toolkitapi import DevTools
with DevTools(api_key="tk_...") as dt:
result = dt.regex_extract(
pattern=r"(\w+)@(\w+)\.(\w+)",
text="Contact [email protected] or [email protected]",
)
print(result["captures"]) # [["alice", "example", "com"], ["bob", "corp", "io"]]
Parse a cron expression¶
from toolkitapi import DevTools
with DevTools(api_key="tk_...") as dt:
result = dt.cron_parse("0 9 * * MON-FRI", count=5, tz="America/New_York")
print(result["description"]) # "At 09:00 AM, Monday through Friday"
print(result["next_runs"]) # Next 5 scheduled times
Convert a Unix timestamp¶
from toolkitapi import DevTools
with DevTools(api_key="tk_...") as dt:
result = dt.timestamp(ts=1718438400)
print(result["iso"]) # "2024-06-15T08:00:00+00:00"
print(result["relative"]) # "about 2 days ago"
Parse a User-Agent string¶
from toolkitapi import DevTools
ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
with DevTools(api_key="tk_...") as dt:
result = dt.user_agent(ua)
print(result["browser"]["name"]) # "Chrome"
print(result["os"]["name"]) # "macOS"
print(result["device"]["type"]) # "desktop"
Calculate IP network details¶
from toolkitapi import DevTools
with DevTools(api_key="tk_...") as dt:
result = dt.ip_calc("192.168.1.0/24")
print(result["network"]) # "192.168.1.0"
print(result["broadcast"]) # "192.168.1.255"
print(result["host_count"]) # 254
print(result["subnet_mask"]) # "255.255.255.0"
Parse a URL¶
from toolkitapi import DevTools
with DevTools(api_key="tk_...") as dt:
result = dt.url_parse("https://api.toolkitapi.io/v1/items?page=2&limit=10#section")
print(result["scheme"]) # "https"
print(result["host"]) # "api.toolkitapi.io"
print(result["path"]) # "/v1/items"
print(result["query"]) # {"page": "2", "limit": "10"}
print(result["fragment"]) # "section"
Convert a colour¶
from toolkitapi import DevTools
with DevTools(api_key="tk_...") as dt:
result = dt.color_convert("#FF5733")
print(result["rgb"]) # "rgb(255, 87, 51)"
print(result["hsl"]) # "hsl(11, 100%, 60%)"
print(result["hex"]) # "#FF5733"
Compare semantic versions¶
from toolkitapi import DevTools
with DevTools(api_key="tk_...") as dt:
result = dt.semver_compare(["1.10.0", "1.9.0", "2.0.0-beta.1", "1.9.1"])
print(result["sorted"]) # ["1.9.0", "1.9.1", "1.10.0", "2.0.0-beta.1"]
Parse a .env file¶
from toolkitapi import DevTools
env_content = """
DATABASE_URL=postgres://user:pass@localhost/mydb
DEBUG=true
PORT=8000
# comment line
SECRET_KEY=abc123
"""
with DevTools(api_key="tk_...") as dt:
result = dt.env_parse(env_content)
print(result["variables"]) # {"DATABASE_URL": "...", "DEBUG": "true", ...}
Validate a credit card number¶
from toolkitapi import DevTools
with DevTools(api_key="tk_...") as dt:
result = dt.card_validate("4111 1111 1111 1111")
print(result["valid"]) # True
print(result["network"]) # "Visa"
print(result["type"]) # "credit"
Tip
The cron-parse endpoint returns a human-readable description alongside next run times, making it useful for both documentation generation and scheduling UIs.