Name | raxodus JSON |
Version |
0.1.3
JSON |
| download |
home_page | None |
Summary | Escape from Rackspace ticket hell - a minimal CLI for ticket management |
upload_time | 2025-08-06 07:41:24 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | MIT |
keywords |
automation
cli
n8n
rackspace
tickets
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# ๐ก๏ธ Raxodus
[](https://badge.fury.io/py/raxodus)
[](https://pypi.org/project/raxodus/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/bdmorin/raxodus/actions/workflows/test.yml)
> *"Neither demon nor machine, but something altogether different"* - Ultima III
**Raxodus** - Escape from Rackspace ticket hell. A minimal CLI for managing Rackspace support tickets, built specifically for automation and n8n workflow integration.
## ๐ฏ Why Raxodus?
The Rackspace ticket API is broken in numerous ways (30+ second response times, inconsistent field names, "demo" endpoints in production). This tool works around those issues to give you reliable ticket access.
## โจ Features
- **๐ซ Read-Only Ticket Access** - List and view Rackspace support tickets
- **๐ Multiple Output Formats** - JSON, table, or CSV output
- **๐ Fast & Lightweight** - Minimal dependencies, quick responses (when API allows)
- **๐ Secure by Design** - No CLI credential flags, environment variables only
- **โฑ๏ธ Debug Mode** - Track API performance with timing metadata
- **๐ n8n Ready** - JSON output perfect for workflow automation
- **๐ Shell Completions** - Bash, Zsh, and Fish support
- **๐พ Smart Caching** - Work around slow API responses
- **๐ก๏ธ Type Safe** - Pydantic models handle API inconsistencies
## ๐ฆ Installation
```bash
# Quick run without installation (recommended)
uvx raxodus --version
# Install with pip
pip install raxodus
# Install with uv
uv pip install raxodus
```
## ๐ Quick Start
### 1. Set Credentials
```bash
# Required environment variables
export RACKSPACE_USERNAME="your-username"
export RACKSPACE_API_KEY="your-api-key"
export RACKSPACE_ACCOUNT="123456" # Optional default account
```
โ ๏ธ **Security Note**: Never pass credentials as command-line arguments. This is by design for security.
### 2. Test Authentication
```bash
# Verify your credentials work
raxodus auth test
```
### 3. List Tickets
```bash
# List all tickets (table format)
raxodus tickets list --format table
# List open tickets from last 7 days
raxodus tickets list --status open --days 7
# JSON output for automation
raxodus tickets list --format json
# CSV for spreadsheets
raxodus tickets list --format csv > tickets.csv
# With debug timing info
raxodus tickets list --debug --format json
```
### 4. Get Specific Ticket
```bash
# View single ticket
raxodus tickets get 250625-02866
# As JSON
raxodus tickets get 250625-02866 --format json
```
## ๐ Complete Command Reference
### Main Commands
```bash
raxodus --help # Show help
raxodus --version # Show version info
```
### Authentication Commands
```bash
# Test credentials
raxodus auth test
# Example output:
# โ Authentication successful
# โ Token expires: 2025-01-07 15:30:00
```
### Ticket Commands
```bash
# List tickets with ALL options
raxodus tickets list \
--account 123456 \ # Specific account (overrides env)
--status open \ # Filter: open, closed, pending
--days 30 \ # Tickets from last N days
--page 1 \ # Pagination
--per-page 100 \ # Results per page (max 100)
--format json \ # Output: json, table, csv
--debug # Include timing metadata
# Get single ticket
raxodus tickets get TICKET-ID \
--format json \ # Output: json, table
--debug # Include timing metadata
```
### Shell Completions
```bash
# Install completions for your shell
raxodus completion install
# Or manually add to your shell config
raxodus completion show >> ~/.bashrc # Bash
raxodus completion show >> ~/.zshrc # Zsh
```
## ๐ง Configuration
### Environment Variables
```bash
# Required
RACKSPACE_USERNAME="your-username" # Your Rackspace username
RACKSPACE_API_KEY="your-api-key" # Your API key
# Optional
RACKSPACE_ACCOUNT="123456" # Default account number
RACKSPACE_REGION="us" # API region (default: us)
RAXODUS_CACHE_DIR="~/.cache/raxodus" # Cache directory
RAXODUS_CACHE_TTL="300" # Cache TTL in seconds
```
## ๐ค n8n Integration
### Execute Command Node
```json
{
"nodes": [{
"name": "List Tickets",
"type": "n8n-nodes-base.executeCommand",
"parameters": {
"command": "raxodus tickets list --format json --debug",
"env": {
"RACKSPACE_USERNAME": "={{ $credentials.rackspace.username }}",
"RACKSPACE_API_KEY": "={{ $credentials.rackspace.apiKey }}",
"RACKSPACE_ACCOUNT": "={{ $credentials.rackspace.account }}"
}
}
}]
}
```
### Process JSON Output
```javascript
// Code node to process tickets
const output = JSON.parse($input.item.json.stdout);
const openTickets = output.tickets.filter(t => t.status === 'open');
// Check performance
if (output.elapsed_seconds > 30) {
console.warn(`Slow API response: ${output.elapsed_seconds}s`);
}
return openTickets;
```
### Complete n8n Workflow Example
```json
{
"name": "Monitor Rackspace Tickets",
"nodes": [
{
"name": "Every 15 minutes",
"type": "n8n-nodes-base.scheduleTrigger",
"parameters": {
"rule": {
"interval": [{"field": "minutes", "value": 15}]
}
}
},
{
"name": "Get Open Tickets",
"type": "n8n-nodes-base.executeCommand",
"parameters": {
"command": "uvx raxodus tickets list --status open --format json",
"env": {
"RACKSPACE_USERNAME": "={{ $credentials.rackspace.username }}",
"RACKSPACE_API_KEY": "={{ $credentials.rackspace.apiKey }}"
}
}
},
{
"name": "Parse and Filter",
"type": "n8n-nodes-base.code",
"parameters": {
"code": "const data = JSON.parse($input.item.json.stdout);\nreturn data.tickets.filter(t => t.severity === 'urgent');"
}
},
{
"name": "Send Alert",
"type": "n8n-nodes-base.slack",
"parameters": {
"channel": "#alerts",
"text": "Urgent ticket: {{ $json.subject }}"
}
}
]
}
```
## ๐ Output Format Examples
### JSON Format
```json
{
"tickets": [
{
"ticketId": "250625-02866",
"subject": "Server connectivity issue",
"status": "open",
"severity": "normal",
"created": "2025-06-25T14:30:00Z",
"modified": "2025-06-26T09:15:00Z"
}
],
"elapsed_seconds": 31.5,
"from_cache": false
}
```
### Table Format
```
โโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโณโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Ticket ID โ Subject โ Statusโ Severity โ Modified โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ 250625-02866 โ Server connectivity... โ open โ normal โ 2025-06-26 โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโ
```
### CSV Format
```csv
ticketId,subject,status,severity,created,modified
250625-02866,Server connectivity issue,open,normal,2025-06-25T14:30:00Z,2025-06-26T09:15:00Z
```
## โ ๏ธ Known Issues & Workarounds
### Rackspace API Problems
1. **30+ Second Response Times** - Use `--debug` to track performance
2. **Invalid Dates in Responses** - Pydantic models handle gracefully
3. **Inconsistent Field Names** - Abstracted in our models
4. **No Write Access** - API claims to support updates but returns 404
### Workarounds
```bash
# Use debug flag to track slow responses
raxodus tickets list --debug --format json
# Cache results to avoid repeated slow calls
export RAXODUS_CACHE_TTL=600 # 10 minute cache
# Use pagination for large result sets
raxodus tickets list --page 1 --per-page 50
```
## ๐ ๏ธ Development
```bash
# Clone repository
git clone https://github.com/bdmorin/raxodus
cd raxodus
# Install for development
uv pip install -e ".[dev]"
# Run tests
pytest
# Check linting
ruff check src/
# Build package
uv build
```
## ๐ฎ Why "Raxodus"?
Like the villain Exodus from Ultima III - neither demon nor machine, but something altogether different - Rackspace tickets exist in a frustrating limbo between automated systems and human support. This tool helps you escape that hell.
Each release is named after an Ultima III character:
- v0.1.x - "Mondain" (The dark wizard)
- v0.2.x - "Minax" (The enchantress)
- v0.3.x - "Exodus" (Neither demon nor machine)
## ๐ License
MIT - See [LICENSE](LICENSE) file
## ๐ค Contributing
Pull requests welcome! Please ensure:
- All tests pass
- Code follows existing style
- New features include tests
- API workarounds are documented
## โ๏ธ Disclaimer
This is an **unofficial** tool and is not affiliated with or supported by Rackspace Technology. Use at your own risk.
## ๐ Issues & Support
- **Bug Reports**: [GitHub Issues](https://github.com/bdmorin/raxodus/issues)
- **Feature Requests**: [GitHub Issues](https://github.com/bdmorin/raxodus/issues)
- **Security Issues**: Please email privately
## ๐ Project Status
**Current Version**: v0.1.2 (Mondain)
The tool is functional but limited by Rackspace API issues. We maintain 0.x versioning to indicate these limitations. Version 1.0 will only be released when Rackspace fixes their API.
See [CLAUDE.md](CLAUDE.md) for v1.0 release criteria.
Raw data
{
"_id": null,
"home_page": null,
"name": "raxodus",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "automation, cli, n8n, rackspace, tickets",
"author": null,
"author_email": "Brian Morin <bdmorin@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/d1/15/e293c5afc1b5f330e4c35d2f10e1d3ee08187c9c08bf9826ebfc8288f6d3/raxodus-0.1.3.tar.gz",
"platform": null,
"description": "# \ud83d\udde1\ufe0f Raxodus\n\n[](https://badge.fury.io/py/raxodus)\n[](https://pypi.org/project/raxodus/)\n[](https://opensource.org/licenses/MIT)\n[](https://github.com/bdmorin/raxodus/actions/workflows/test.yml)\n\n> *\"Neither demon nor machine, but something altogether different\"* - Ultima III\n\n**Raxodus** - Escape from Rackspace ticket hell. A minimal CLI for managing Rackspace support tickets, built specifically for automation and n8n workflow integration.\n\n## \ud83c\udfaf Why Raxodus?\n\nThe Rackspace ticket API is broken in numerous ways (30+ second response times, inconsistent field names, \"demo\" endpoints in production). This tool works around those issues to give you reliable ticket access.\n\n## \u2728 Features\n\n- **\ud83c\udfab Read-Only Ticket Access** - List and view Rackspace support tickets\n- **\ud83d\udcca Multiple Output Formats** - JSON, table, or CSV output \n- **\ud83d\ude80 Fast & Lightweight** - Minimal dependencies, quick responses (when API allows)\n- **\ud83d\udd10 Secure by Design** - No CLI credential flags, environment variables only\n- **\u23f1\ufe0f Debug Mode** - Track API performance with timing metadata\n- **\ud83d\udd04 n8n Ready** - JSON output perfect for workflow automation\n- **\ud83d\udc1a Shell Completions** - Bash, Zsh, and Fish support\n- **\ud83d\udcbe Smart Caching** - Work around slow API responses\n- **\ud83d\udee1\ufe0f Type Safe** - Pydantic models handle API inconsistencies\n\n## \ud83d\udce6 Installation\n\n```bash\n# Quick run without installation (recommended)\nuvx raxodus --version\n\n# Install with pip\npip install raxodus\n\n# Install with uv\nuv pip install raxodus\n```\n\n## \ud83d\ude80 Quick Start\n\n### 1. Set Credentials\n\n```bash\n# Required environment variables\nexport RACKSPACE_USERNAME=\"your-username\"\nexport RACKSPACE_API_KEY=\"your-api-key\"\nexport RACKSPACE_ACCOUNT=\"123456\" # Optional default account\n```\n\n\u26a0\ufe0f **Security Note**: Never pass credentials as command-line arguments. This is by design for security.\n\n### 2. Test Authentication\n\n```bash\n# Verify your credentials work\nraxodus auth test\n```\n\n### 3. List Tickets\n\n```bash\n# List all tickets (table format)\nraxodus tickets list --format table\n\n# List open tickets from last 7 days\nraxodus tickets list --status open --days 7\n\n# JSON output for automation\nraxodus tickets list --format json\n\n# CSV for spreadsheets\nraxodus tickets list --format csv > tickets.csv\n\n# With debug timing info\nraxodus tickets list --debug --format json\n```\n\n### 4. Get Specific Ticket\n\n```bash\n# View single ticket\nraxodus tickets get 250625-02866\n\n# As JSON\nraxodus tickets get 250625-02866 --format json\n```\n\n## \ud83d\udcda Complete Command Reference\n\n### Main Commands\n\n```bash\nraxodus --help # Show help\nraxodus --version # Show version info\n```\n\n### Authentication Commands\n\n```bash\n# Test credentials\nraxodus auth test\n\n# Example output:\n# \u2713 Authentication successful\n# \u2713 Token expires: 2025-01-07 15:30:00\n```\n\n### Ticket Commands\n\n```bash\n# List tickets with ALL options\nraxodus tickets list \\\n --account 123456 \\ # Specific account (overrides env)\n --status open \\ # Filter: open, closed, pending\n --days 30 \\ # Tickets from last N days\n --page 1 \\ # Pagination\n --per-page 100 \\ # Results per page (max 100)\n --format json \\ # Output: json, table, csv\n --debug # Include timing metadata\n\n# Get single ticket\nraxodus tickets get TICKET-ID \\\n --format json \\ # Output: json, table\n --debug # Include timing metadata\n```\n\n### Shell Completions\n\n```bash\n# Install completions for your shell\nraxodus completion install\n\n# Or manually add to your shell config\nraxodus completion show >> ~/.bashrc # Bash\nraxodus completion show >> ~/.zshrc # Zsh\n```\n\n## \ud83d\udd27 Configuration\n\n### Environment Variables\n\n```bash\n# Required\nRACKSPACE_USERNAME=\"your-username\" # Your Rackspace username\nRACKSPACE_API_KEY=\"your-api-key\" # Your API key\n\n# Optional\nRACKSPACE_ACCOUNT=\"123456\" # Default account number\nRACKSPACE_REGION=\"us\" # API region (default: us)\nRAXODUS_CACHE_DIR=\"~/.cache/raxodus\" # Cache directory\nRAXODUS_CACHE_TTL=\"300\" # Cache TTL in seconds\n```\n\n## \ud83e\udd16 n8n Integration\n\n### Execute Command Node\n\n```json\n{\n \"nodes\": [{\n \"name\": \"List Tickets\",\n \"type\": \"n8n-nodes-base.executeCommand\",\n \"parameters\": {\n \"command\": \"raxodus tickets list --format json --debug\",\n \"env\": {\n \"RACKSPACE_USERNAME\": \"={{ $credentials.rackspace.username }}\",\n \"RACKSPACE_API_KEY\": \"={{ $credentials.rackspace.apiKey }}\",\n \"RACKSPACE_ACCOUNT\": \"={{ $credentials.rackspace.account }}\"\n }\n }\n }]\n}\n```\n\n### Process JSON Output\n\n```javascript\n// Code node to process tickets\nconst output = JSON.parse($input.item.json.stdout);\nconst openTickets = output.tickets.filter(t => t.status === 'open');\n\n// Check performance\nif (output.elapsed_seconds > 30) {\n console.warn(`Slow API response: ${output.elapsed_seconds}s`);\n}\n\nreturn openTickets;\n```\n\n### Complete n8n Workflow Example\n\n```json\n{\n \"name\": \"Monitor Rackspace Tickets\",\n \"nodes\": [\n {\n \"name\": \"Every 15 minutes\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"parameters\": {\n \"rule\": {\n \"interval\": [{\"field\": \"minutes\", \"value\": 15}]\n }\n }\n },\n {\n \"name\": \"Get Open Tickets\",\n \"type\": \"n8n-nodes-base.executeCommand\",\n \"parameters\": {\n \"command\": \"uvx raxodus tickets list --status open --format json\",\n \"env\": {\n \"RACKSPACE_USERNAME\": \"={{ $credentials.rackspace.username }}\",\n \"RACKSPACE_API_KEY\": \"={{ $credentials.rackspace.apiKey }}\"\n }\n }\n },\n {\n \"name\": \"Parse and Filter\",\n \"type\": \"n8n-nodes-base.code\",\n \"parameters\": {\n \"code\": \"const data = JSON.parse($input.item.json.stdout);\\nreturn data.tickets.filter(t => t.severity === 'urgent');\"\n }\n },\n {\n \"name\": \"Send Alert\",\n \"type\": \"n8n-nodes-base.slack\",\n \"parameters\": {\n \"channel\": \"#alerts\",\n \"text\": \"Urgent ticket: {{ $json.subject }}\"\n }\n }\n ]\n}\n```\n\n## \ud83d\udcca Output Format Examples\n\n### JSON Format\n```json\n{\n \"tickets\": [\n {\n \"ticketId\": \"250625-02866\",\n \"subject\": \"Server connectivity issue\",\n \"status\": \"open\",\n \"severity\": \"normal\",\n \"created\": \"2025-06-25T14:30:00Z\",\n \"modified\": \"2025-06-26T09:15:00Z\"\n }\n ],\n \"elapsed_seconds\": 31.5,\n \"from_cache\": false\n}\n```\n\n### Table Format\n```\n\u250f\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 Ticket ID \u2503 Subject \u2503 Status\u2503 Severity \u2503 Modified \u2503\n\u2521\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2547\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2529\n\u2502 250625-02866 \u2502 Server connectivity... \u2502 open \u2502 normal \u2502 2025-06-26 \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n### CSV Format\n```csv\nticketId,subject,status,severity,created,modified\n250625-02866,Server connectivity issue,open,normal,2025-06-25T14:30:00Z,2025-06-26T09:15:00Z\n```\n\n## \u26a0\ufe0f Known Issues & Workarounds\n\n### Rackspace API Problems\n\n1. **30+ Second Response Times** - Use `--debug` to track performance\n2. **Invalid Dates in Responses** - Pydantic models handle gracefully\n3. **Inconsistent Field Names** - Abstracted in our models\n4. **No Write Access** - API claims to support updates but returns 404\n\n### Workarounds\n\n```bash\n# Use debug flag to track slow responses\nraxodus tickets list --debug --format json\n\n# Cache results to avoid repeated slow calls\nexport RAXODUS_CACHE_TTL=600 # 10 minute cache\n\n# Use pagination for large result sets\nraxodus tickets list --page 1 --per-page 50\n```\n\n## \ud83d\udee0\ufe0f Development\n\n```bash\n# Clone repository\ngit clone https://github.com/bdmorin/raxodus\ncd raxodus\n\n# Install for development\nuv pip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Check linting\nruff check src/\n\n# Build package\nuv build\n```\n\n## \ud83c\udfae Why \"Raxodus\"?\n\nLike the villain Exodus from Ultima III - neither demon nor machine, but something altogether different - Rackspace tickets exist in a frustrating limbo between automated systems and human support. This tool helps you escape that hell.\n\nEach release is named after an Ultima III character:\n- v0.1.x - \"Mondain\" (The dark wizard)\n- v0.2.x - \"Minax\" (The enchantress)\n- v0.3.x - \"Exodus\" (Neither demon nor machine)\n\n## \ud83d\udcdd License\n\nMIT - See [LICENSE](LICENSE) file\n\n## \ud83e\udd1d Contributing\n\nPull requests welcome! Please ensure:\n- All tests pass\n- Code follows existing style\n- New features include tests\n- API workarounds are documented\n\n## \u2696\ufe0f Disclaimer\n\nThis is an **unofficial** tool and is not affiliated with or supported by Rackspace Technology. Use at your own risk.\n\n## \ud83d\udc1b Issues & Support\n\n- **Bug Reports**: [GitHub Issues](https://github.com/bdmorin/raxodus/issues)\n- **Feature Requests**: [GitHub Issues](https://github.com/bdmorin/raxodus/issues)\n- **Security Issues**: Please email privately\n\n## \ud83d\udcc8 Project Status\n\n**Current Version**: v0.1.2 (Mondain)\n\nThe tool is functional but limited by Rackspace API issues. We maintain 0.x versioning to indicate these limitations. Version 1.0 will only be released when Rackspace fixes their API.\n\nSee [CLAUDE.md](CLAUDE.md) for v1.0 release criteria.",
"bugtrack_url": null,
"license": "MIT",
"summary": "Escape from Rackspace ticket hell - a minimal CLI for ticket management",
"version": "0.1.3",
"project_urls": {
"Homepage": "https://github.com/bdmorin/raxodus",
"Issues": "https://github.com/bdmorin/raxodus/issues",
"Repository": "https://github.com/bdmorin/raxodus"
},
"split_keywords": [
"automation",
" cli",
" n8n",
" rackspace",
" tickets"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7055b48c5284e8a521de2fdb4ed9302bd97620223e09276a8c4f3b1951e62a73",
"md5": "c17e479ca45964388cd8219d81250efc",
"sha256": "5148238cdf9b18c5c1b6e232b940a979134c533b06f7baa4b15bc00ed6ea7c71"
},
"downloads": -1,
"filename": "raxodus-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c17e479ca45964388cd8219d81250efc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 16004,
"upload_time": "2025-08-06T07:41:23",
"upload_time_iso_8601": "2025-08-06T07:41:23.180462Z",
"url": "https://files.pythonhosted.org/packages/70/55/b48c5284e8a521de2fdb4ed9302bd97620223e09276a8c4f3b1951e62a73/raxodus-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d115e293c5afc1b5f330e4c35d2f10e1d3ee08187c9c08bf9826ebfc8288f6d3",
"md5": "f2180fa5a53227bb9c8917430f1acd41",
"sha256": "ccc124344c05cea470ba5bdd6e1836714ea90e662545a2d7720dbc12024f4a2f"
},
"downloads": -1,
"filename": "raxodus-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "f2180fa5a53227bb9c8917430f1acd41",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 44115,
"upload_time": "2025-08-06T07:41:24",
"upload_time_iso_8601": "2025-08-06T07:41:24.474788Z",
"url": "https://files.pythonhosted.org/packages/d1/15/e293c5afc1b5f330e4c35d2f10e1d3ee08187c9c08bf9826ebfc8288f6d3/raxodus-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-06 07:41:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bdmorin",
"github_project": "raxodus",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "raxodus"
}