# Tagmaster Python Client
A comprehensive Python client library for the Tagmaster classification API. This client provides easy access to all API Key Protected endpoints for project management, category management, classification, and analytics.
## ๐ Features
- **๐ API Key Authentication**: Simple authentication using project-specific API keys
- **๐ Project Management**: Full CRUD operations for projects
- **๐ท๏ธ Category Management**: Create, update, delete, and manage classification categories
- **๐ค AI Classification**: Text and image classification with confidence scoring
- **๐ Analytics & History**: Comprehensive classification history and statistics
- **๐ CSV Import/Export**: Bulk operations for categories and classification data
- **๐ง Utility Functions**: Health checks, connection testing, and configuration
## ๐ฆ Installation
```bash
pip install tagmaster-python
```
Or install from source:
```bash
git clone https://github.com/tagmaster/tagmaster-python.git
cd tagmaster-python
pip install -e .
```
## ๐ Quick Start
```python
from tagmaster import TagmasterClassificationClient
# Initialize client with your API key
client = TagmasterClassificationClient(api_key="your-project-api-key")
# Classify text
result = client.classify_text("Customer needs help with password reset")
print(f"Top match: {result['classifications'][0]['category']}")
# Get all projects
projects = client.get_projects()
print(f"Found {len(projects)} projects")
```
## ๐ API Reference
### Initialization
```python
client = TagmasterClassificationClient(
api_key="your-api-key",
base_url="https://api.tagmaster.com" # Optional, defaults to localhost:3001
)
```
### Project Management
#### Get All Projects
```python
projects = client.get_projects()
# Returns: List of project dictionaries
```
#### Get Specific Project
```python
project = client.get_project(project_uuid)
# Returns: Project dictionary or None if not found
```
#### Create Project
```python
project = client.create_project(
name="My Project",
description="Project description"
)
# Returns: Created project dictionary
```
#### Update Project
```python
updated_project = client.update_project(
project_uuid="uuid-here",
name="New Name", # Optional
description="New description" # Optional
)
# Returns: Updated project dictionary
```
#### Delete Project
```python
success = client.delete_project(project_uuid)
# Returns: True if successful
```
### Category Management
#### Get Categories for Project
```python
categories = client.get_categories(project_uuid)
# Returns: List of category dictionaries
```
#### Get Specific Category
```python
category = client.get_category(project_uuid, category_uuid)
# Returns: Category dictionary or None if not found
```
#### Create Category
```python
category = client.create_category(
project_uuid="uuid-here",
name="Category Name",
description="Category description" # Optional
)
# Returns: Created category dictionary
```
#### Update Category
```python
updated_category = client.update_category(
project_uuid="uuid-here",
category_uuid="uuid-here",
name="New Name", # Optional
description="New description" # Optional
)
# Returns: Updated category dictionary
```
#### Delete Category
```python
success = client.delete_category(category_uuid)
# Returns: True if successful
```
#### Bulk Delete Categories
```python
result = client.bulk_delete_categories([
"category-uuid-1",
"category-uuid-2"
])
# Returns: Response dictionary with deletion results
```
#### Import Categories from CSV
```python
result = client.import_categories_csv(
project_uuid="uuid-here",
csv_file_path="categories.csv"
)
# Returns: Response dictionary with import results
```
#### Export Categories to CSV
```python
csv_file = client.export_categories_csv(
project_uuid="uuid-here",
output_file_path="exported_categories.csv" # Optional
)
# Returns: Path to exported CSV file
```
### Classification
#### Text Classification
```python
result = client.classify_text("Text to classify")
# Returns: Dictionary with classification results
```
#### Image Classification
```python
result = client.classify_image("https://example.com/image.jpg")
# Returns: Dictionary with classification results
```
### Classification History & Analytics
#### Get Classification History
```python
history = client.get_classification_history(
limit=50, # Number of records (max 100)
offset=0, # Number of records to skip
classification_type='text', # 'text' or 'image'
success=True, # Filter by success status
start_date='2024-01-01', # Start date filter
end_date='2024-12-31' # End date filter
)
# Returns: Dictionary with history and pagination info
```
#### Get Specific Classification Request
```python
request = client.get_classification_request(request_uuid)
# Returns: Classification request details
```
#### Get Classification Statistics
```python
stats = client.get_classification_stats(
start_date='2024-01-01', # Optional start date
end_date='2024-12-31' # Optional end date
)
# Returns: Dictionary with classification statistics
```
#### Export Classification History to CSV
```python
csv_file = client.export_classification_history_csv(
output_file_path="history.csv", # Optional
start_date='2024-01-01', # Optional start date
end_date='2024-12-31' # Optional end date
)
# Returns: Path to exported CSV file
```
### Utility Methods
#### Health Check
```python
health = client.get_health_status()
# Returns: Health status information
```
#### Check Remaining Requests
```python
remaining = client.get_remaining_requests()
# Returns: Number of remaining requests or "Unlimited"
```
#### Update Base URL
```python
client.set_base_url("https://api.tagmaster.com")
# Updates the base URL and tests connection
```
## ๐ Response Format Examples
### Classification Response
```json
{
"success": true,
"classifications": [
{
"category": "Login Issues",
"confidence": 95.2,
"description": "Problems with user authentication and login"
},
{
"category": "Password Reset",
"confidence": 87.1,
"description": "Password recovery and reset requests"
}
],
"projectName": "Customer Support",
"totalCategories": 5,
"provider": "openai",
"model": "gpt-4",
"responseTime": 1250
}
```
### Project Response
```json
{
"id": 1,
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Project",
"description": "Project description",
"userId": 1,
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
}
```
### Category Response
```json
{
"id": 1,
"uuid": "550e8400-e29b-41d4-a716-446655440001",
"name": "Category Name",
"description": "Category description",
"projectId": 1,
"createdAt": "2024-01-01T00:00:00.000Z"
}
```
## ๐ง Configuration
### Environment Variables
```bash
export TAGMASTER_API_KEY="your-api-key"
export TAGMASTER_BASE_URL="https://api.tagmaster.com"
```
### Custom Base URL
```python
# Initialize with custom base URL
client = TagmasterClassificationClient(
api_key="your-key",
base_url="https://api.tagmaster.com"
)
# Or change after initialization
client.set_base_url("https://api.tagmaster.com")
```
## ๐ CSV Import/Export
### Categories CSV Format
```csv
name,description
Login Issues,Problems with user authentication and login
Password Reset,Password recovery and reset requests
Technical Support,Technical issues and troubleshooting
```
### Classification History CSV Format
```csv
id,uuid,type,success,inputData,outputData,responseTime,createdAt
1,uuid-1,text,true,"Customer needs help",{"category":"Login Issues"},1250,2024-01-01T00:00:00.000Z
```
## ๐จ Error Handling
The client provides comprehensive error handling:
```python
try:
result = client.classify_text("Text to classify")
print("Success:", result)
except requests.RequestException as e:
print(f"API Error: {e}")
except ValueError as e:
print(f"Validation Error: {e}")
except ConnectionError as e:
print(f"Connection Error: {e}")
except Exception as e:
print(f"Unexpected Error: {e}")
```
### Common Error Codes
- **401**: Invalid or missing API key
- **403**: No active subscription or request limit exceeded
- **404**: Resource not found
- **429**: Rate limit exceeded
- **500**: Internal server error
## ๐ Usage Examples
### Complete Workflow Example
```python
from tagmaster import TagmasterClassificationClient
# Initialize client
client = TagmasterClassificationClient(api_key="your-key")
# Create a new project
project = client.create_project(
name="Customer Support",
description="Customer support ticket classification"
)
# Create categories
categories = [
("Login Issues", "Authentication problems"),
("Billing", "Payment and billing questions"),
("Technical", "Technical support requests")
]
for name, description in categories:
client.create_category(project['uuid'], name, description)
# Classify some text
result = client.classify_text("User can't log in to account")
print(f"Classified as: {result['classifications'][0]['category']}")
# Export categories
csv_file = client.export_categories_csv(project['uuid'])
print(f"Categories exported to: {csv_file}")
```
### Batch Classification Example
```python
texts = [
"Customer needs password reset",
"Payment was charged twice",
"App is crashing on startup"
]
results = []
for text in texts:
try:
result = client.classify_text(text)
results.append({
'input': text,
'classification': result['classifications'][0]['category'],
'confidence': result['classifications'][0]['confidence']
})
except Exception as e:
results.append({
'input': text,
'error': str(e)
})
# Export results
import pandas as pd
df = pd.DataFrame(results)
df.to_csv('batch_classifications.csv', index=False)
```
### Analytics Dashboard Example
```python
# Get statistics for the current month
from datetime import date
start_date = date.today().replace(day=1)
end_date = date.today()
stats = client.get_classification_stats(start_date, end_date)
history = client.get_classification_history(
limit=100,
start_date=start_date,
end_date=end_date
)
print(f"Monthly Statistics:")
print(f" Total Requests: {stats['statistics']['totalRequests']}")
print(f" Success Rate: {stats['statistics']['successfulRequests'] / stats['statistics']['totalRequests'] * 100:.1f}%")
print(f" Avg Response Time: {stats['statistics']['averageResponseTime']}ms")
# Export detailed history
csv_file = client.export_classification_history_csv(
start_date=start_date,
end_date=end_date
)
print(f"Detailed history exported to: {csv_file}")
```
## ๐งช Testing
Run the comprehensive example:
```bash
python example_usage.py
```
Run tests:
```bash
pytest
```
## ๐ Documentation
- **API Reference**: This README
- **Backend API**: [API_KEY_ENDPOINTS.md](../saas-backend/API_KEY_ENDPOINTS.md)
- **Swagger Organization**: [SWAGGER_ORGANIZATION.md](../saas-backend/SWAGGER_ORGANIZATION.md)
## ๐ค Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Support
- **Documentation**: [GitHub Wiki](https://github.com/tagmaster/tagmaster-python/wiki)
- **Issues**: [GitHub Issues](https://github.com/tagmaster/tagmaster-python/issues)
- **Email**: support@tagmaster.com
## ๐ Changelog
### v1.0.0
- Initial release with comprehensive API coverage
- Project management (CRUD operations)
- Category management (CRUD operations, import/export)
- Text and image classification
- Classification history and analytics
- CSV import/export functionality
- Utility methods and error handling
Raw data
{
"_id": null,
"home_page": "https://github.com/tagmaster/tagmaster-python",
"name": "tagmaster-python",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "Tagmaster <support@tagmaster.com>",
"keywords": "tagmaster, classification, api, client, text-analysis, nlp, project-management, category-management, analytics, csv-import-export",
"author": "Tagmaster",
"author_email": "Tagmaster <support@tagmaster.com>",
"download_url": "https://files.pythonhosted.org/packages/d3/9d/675f0ea4d303f52928c3fa0bb835f9045c7b3281fb6845f65098881540dc/tagmaster_python-1.0.7.tar.gz",
"platform": null,
"description": "# Tagmaster Python Client\n\nA comprehensive Python client library for the Tagmaster classification API. This client provides easy access to all API Key Protected endpoints for project management, category management, classification, and analytics.\n\n## \ud83d\ude80 Features\n\n- **\ud83d\udd11 API Key Authentication**: Simple authentication using project-specific API keys\n- **\ud83d\udcc1 Project Management**: Full CRUD operations for projects\n- **\ud83c\udff7\ufe0f Category Management**: Create, update, delete, and manage classification categories\n- **\ud83e\udd16 AI Classification**: Text and image classification with confidence scoring\n- **\ud83d\udcca Analytics & History**: Comprehensive classification history and statistics\n- **\ud83d\udcc1 CSV Import/Export**: Bulk operations for categories and classification data\n- **\ud83d\udd27 Utility Functions**: Health checks, connection testing, and configuration\n\n## \ud83d\udce6 Installation\n\n```bash\npip install tagmaster-python\n```\n\nOr install from source:\n\n```bash\ngit clone https://github.com/tagmaster/tagmaster-python.git\ncd tagmaster-python\npip install -e .\n```\n\n## \ud83d\udd11 Quick Start\n\n```python\nfrom tagmaster import TagmasterClassificationClient\n\n# Initialize client with your API key\nclient = TagmasterClassificationClient(api_key=\"your-project-api-key\")\n\n# Classify text\nresult = client.classify_text(\"Customer needs help with password reset\")\nprint(f\"Top match: {result['classifications'][0]['category']}\")\n\n# Get all projects\nprojects = client.get_projects()\nprint(f\"Found {len(projects)} projects\")\n```\n\n## \ud83d\udcda API Reference\n\n### Initialization\n\n```python\nclient = TagmasterClassificationClient(\n api_key=\"your-api-key\",\n base_url=\"https://api.tagmaster.com\" # Optional, defaults to localhost:3001\n)\n```\n\n### Project Management\n\n#### Get All Projects\n```python\nprojects = client.get_projects()\n# Returns: List of project dictionaries\n```\n\n#### Get Specific Project\n```python\nproject = client.get_project(project_uuid)\n# Returns: Project dictionary or None if not found\n```\n\n#### Create Project\n```python\nproject = client.create_project(\n name=\"My Project\",\n description=\"Project description\"\n)\n# Returns: Created project dictionary\n```\n\n#### Update Project\n```python\nupdated_project = client.update_project(\n project_uuid=\"uuid-here\",\n name=\"New Name\", # Optional\n description=\"New description\" # Optional\n)\n# Returns: Updated project dictionary\n```\n\n#### Delete Project\n```python\nsuccess = client.delete_project(project_uuid)\n# Returns: True if successful\n```\n\n### Category Management\n\n#### Get Categories for Project\n```python\ncategories = client.get_categories(project_uuid)\n# Returns: List of category dictionaries\n```\n\n#### Get Specific Category\n```python\ncategory = client.get_category(project_uuid, category_uuid)\n# Returns: Category dictionary or None if not found\n```\n\n#### Create Category\n```python\ncategory = client.create_category(\n project_uuid=\"uuid-here\",\n name=\"Category Name\",\n description=\"Category description\" # Optional\n)\n# Returns: Created category dictionary\n```\n\n#### Update Category\n```python\nupdated_category = client.update_category(\n project_uuid=\"uuid-here\",\n category_uuid=\"uuid-here\",\n name=\"New Name\", # Optional\n description=\"New description\" # Optional\n)\n# Returns: Updated category dictionary\n```\n\n#### Delete Category\n```python\nsuccess = client.delete_category(category_uuid)\n# Returns: True if successful\n```\n\n#### Bulk Delete Categories\n```python\nresult = client.bulk_delete_categories([\n \"category-uuid-1\",\n \"category-uuid-2\"\n])\n# Returns: Response dictionary with deletion results\n```\n\n#### Import Categories from CSV\n```python\nresult = client.import_categories_csv(\n project_uuid=\"uuid-here\",\n csv_file_path=\"categories.csv\"\n)\n# Returns: Response dictionary with import results\n```\n\n#### Export Categories to CSV\n```python\ncsv_file = client.export_categories_csv(\n project_uuid=\"uuid-here\",\n output_file_path=\"exported_categories.csv\" # Optional\n)\n# Returns: Path to exported CSV file\n```\n\n### Classification\n\n#### Text Classification\n```python\nresult = client.classify_text(\"Text to classify\")\n# Returns: Dictionary with classification results\n```\n\n#### Image Classification\n```python\nresult = client.classify_image(\"https://example.com/image.jpg\")\n# Returns: Dictionary with classification results\n```\n\n### Classification History & Analytics\n\n#### Get Classification History\n```python\nhistory = client.get_classification_history(\n limit=50, # Number of records (max 100)\n offset=0, # Number of records to skip\n classification_type='text', # 'text' or 'image'\n success=True, # Filter by success status\n start_date='2024-01-01', # Start date filter\n end_date='2024-12-31' # End date filter\n)\n# Returns: Dictionary with history and pagination info\n```\n\n#### Get Specific Classification Request\n```python\nrequest = client.get_classification_request(request_uuid)\n# Returns: Classification request details\n```\n\n#### Get Classification Statistics\n```python\nstats = client.get_classification_stats(\n start_date='2024-01-01', # Optional start date\n end_date='2024-12-31' # Optional end date\n)\n# Returns: Dictionary with classification statistics\n```\n\n#### Export Classification History to CSV\n```python\ncsv_file = client.export_classification_history_csv(\n output_file_path=\"history.csv\", # Optional\n start_date='2024-01-01', # Optional start date\n end_date='2024-12-31' # Optional end date\n)\n# Returns: Path to exported CSV file\n```\n\n### Utility Methods\n\n#### Health Check\n```python\nhealth = client.get_health_status()\n# Returns: Health status information\n```\n\n#### Check Remaining Requests\n```python\nremaining = client.get_remaining_requests()\n# Returns: Number of remaining requests or \"Unlimited\"\n```\n\n#### Update Base URL\n```python\nclient.set_base_url(\"https://api.tagmaster.com\")\n# Updates the base URL and tests connection\n```\n\n## \ud83d\udccb Response Format Examples\n\n### Classification Response\n```json\n{\n \"success\": true,\n \"classifications\": [\n {\n \"category\": \"Login Issues\",\n \"confidence\": 95.2,\n \"description\": \"Problems with user authentication and login\"\n },\n {\n \"category\": \"Password Reset\",\n \"confidence\": 87.1,\n \"description\": \"Password recovery and reset requests\"\n }\n ],\n \"projectName\": \"Customer Support\",\n \"totalCategories\": 5,\n \"provider\": \"openai\",\n \"model\": \"gpt-4\",\n \"responseTime\": 1250\n}\n```\n\n### Project Response\n```json\n{\n \"id\": 1,\n \"uuid\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"name\": \"My Project\",\n \"description\": \"Project description\",\n \"userId\": 1,\n \"createdAt\": \"2024-01-01T00:00:00.000Z\",\n \"updatedAt\": \"2024-01-01T00:00:00.000Z\"\n}\n```\n\n### Category Response\n```json\n{\n \"id\": 1,\n \"uuid\": \"550e8400-e29b-41d4-a716-446655440001\",\n \"name\": \"Category Name\",\n \"description\": \"Category description\",\n \"projectId\": 1,\n \"createdAt\": \"2024-01-01T00:00:00.000Z\"\n}\n```\n\n## \ud83d\udd27 Configuration\n\n### Environment Variables\n```bash\nexport TAGMASTER_API_KEY=\"your-api-key\"\nexport TAGMASTER_BASE_URL=\"https://api.tagmaster.com\"\n```\n\n### Custom Base URL\n```python\n# Initialize with custom base URL\nclient = TagmasterClassificationClient(\n api_key=\"your-key\",\n base_url=\"https://api.tagmaster.com\"\n)\n\n# Or change after initialization\nclient.set_base_url(\"https://api.tagmaster.com\")\n```\n\n## \ud83d\udcc1 CSV Import/Export\n\n### Categories CSV Format\n```csv\nname,description\nLogin Issues,Problems with user authentication and login\nPassword Reset,Password recovery and reset requests\nTechnical Support,Technical issues and troubleshooting\n```\n\n### Classification History CSV Format\n```csv\nid,uuid,type,success,inputData,outputData,responseTime,createdAt\n1,uuid-1,text,true,\"Customer needs help\",{\"category\":\"Login Issues\"},1250,2024-01-01T00:00:00.000Z\n```\n\n## \ud83d\udea8 Error Handling\n\nThe client provides comprehensive error handling:\n\n```python\ntry:\n result = client.classify_text(\"Text to classify\")\n print(\"Success:\", result)\nexcept requests.RequestException as e:\n print(f\"API Error: {e}\")\nexcept ValueError as e:\n print(f\"Validation Error: {e}\")\nexcept ConnectionError as e:\n print(f\"Connection Error: {e}\")\nexcept Exception as e:\n print(f\"Unexpected Error: {e}\")\n```\n\n### Common Error Codes\n- **401**: Invalid or missing API key\n- **403**: No active subscription or request limit exceeded\n- **404**: Resource not found\n- **429**: Rate limit exceeded\n- **500**: Internal server error\n\n## \ud83d\udcca Usage Examples\n\n### Complete Workflow Example\n```python\nfrom tagmaster import TagmasterClassificationClient\n\n# Initialize client\nclient = TagmasterClassificationClient(api_key=\"your-key\")\n\n# Create a new project\nproject = client.create_project(\n name=\"Customer Support\",\n description=\"Customer support ticket classification\"\n)\n\n# Create categories\ncategories = [\n (\"Login Issues\", \"Authentication problems\"),\n (\"Billing\", \"Payment and billing questions\"),\n (\"Technical\", \"Technical support requests\")\n]\n\nfor name, description in categories:\n client.create_category(project['uuid'], name, description)\n\n# Classify some text\nresult = client.classify_text(\"User can't log in to account\")\nprint(f\"Classified as: {result['classifications'][0]['category']}\")\n\n# Export categories\ncsv_file = client.export_categories_csv(project['uuid'])\nprint(f\"Categories exported to: {csv_file}\")\n```\n\n### Batch Classification Example\n```python\ntexts = [\n \"Customer needs password reset\",\n \"Payment was charged twice\",\n \"App is crashing on startup\"\n]\n\nresults = []\nfor text in texts:\n try:\n result = client.classify_text(text)\n results.append({\n 'input': text,\n 'classification': result['classifications'][0]['category'],\n 'confidence': result['classifications'][0]['confidence']\n })\n except Exception as e:\n results.append({\n 'input': text,\n 'error': str(e)\n })\n\n# Export results\nimport pandas as pd\ndf = pd.DataFrame(results)\ndf.to_csv('batch_classifications.csv', index=False)\n```\n\n### Analytics Dashboard Example\n```python\n# Get statistics for the current month\nfrom datetime import date\nstart_date = date.today().replace(day=1)\nend_date = date.today()\n\nstats = client.get_classification_stats(start_date, end_date)\nhistory = client.get_classification_history(\n limit=100,\n start_date=start_date,\n end_date=end_date\n)\n\nprint(f\"Monthly Statistics:\")\nprint(f\" Total Requests: {stats['statistics']['totalRequests']}\")\nprint(f\" Success Rate: {stats['statistics']['successfulRequests'] / stats['statistics']['totalRequests'] * 100:.1f}%\")\nprint(f\" Avg Response Time: {stats['statistics']['averageResponseTime']}ms\")\n\n# Export detailed history\ncsv_file = client.export_classification_history_csv(\n start_date=start_date,\n end_date=end_date\n)\nprint(f\"Detailed history exported to: {csv_file}\")\n```\n\n## \ud83e\uddea Testing\n\nRun the comprehensive example:\n\n```bash\npython example_usage.py\n```\n\nRun tests:\n\n```bash\npytest\n```\n\n## \ud83d\udcd6 Documentation\n\n- **API Reference**: This README\n- **Backend API**: [API_KEY_ENDPOINTS.md](../saas-backend/API_KEY_ENDPOINTS.md)\n- **Swagger Organization**: [SWAGGER_ORGANIZATION.md](../saas-backend/SWAGGER_ORGANIZATION.md)\n\n## \ud83e\udd1d Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83c\udd98 Support\n\n- **Documentation**: [GitHub Wiki](https://github.com/tagmaster/tagmaster-python/wiki)\n- **Issues**: [GitHub Issues](https://github.com/tagmaster/tagmaster-python/issues)\n- **Email**: support@tagmaster.com\n\n## \ud83d\udd04 Changelog\n\n### v1.0.0\n- Initial release with comprehensive API coverage\n- Project management (CRUD operations)\n- Category management (CRUD operations, import/export)\n- Text and image classification\n- Classification history and analytics\n- CSV import/export functionality\n- Utility methods and error handling \n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A comprehensive Python client for the Tagmaster classification API with project management, category management, AI classification, and analytics",
"version": "1.0.7",
"project_urls": {
"Bug Tracker": "https://github.com/tagmaster/tagmaster-python/issues",
"Documentation": "https://github.com/tagmaster/tagmaster-python#readme",
"Homepage": "https://github.com/tagmaster/tagmaster-python",
"Repository": "https://github.com/tagmaster/tagmaster-python"
},
"split_keywords": [
"tagmaster",
" classification",
" api",
" client",
" text-analysis",
" nlp",
" project-management",
" category-management",
" analytics",
" csv-import-export"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c08e493c2f74534104c0191855869f67b0bb78731227ce7fd5441371d28eebc8",
"md5": "6b1c45b4e16bca5e1b9da73863577ba9",
"sha256": "08ac468a91dcba602656ebcbc3c051cfdd12863dd8a041d628fab8175c1ca830"
},
"downloads": -1,
"filename": "tagmaster_python-1.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6b1c45b4e16bca5e1b9da73863577ba9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 10576,
"upload_time": "2025-08-18T04:38:02",
"upload_time_iso_8601": "2025-08-18T04:38:02.779041Z",
"url": "https://files.pythonhosted.org/packages/c0/8e/493c2f74534104c0191855869f67b0bb78731227ce7fd5441371d28eebc8/tagmaster_python-1.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d39d675f0ea4d303f52928c3fa0bb835f9045c7b3281fb6845f65098881540dc",
"md5": "1d6c90e9d9847112eca934cf34dd4b0d",
"sha256": "4dfe1ee0128313932e6e709707045a91cbeca4805c66f676bb5f0437629756b0"
},
"downloads": -1,
"filename": "tagmaster_python-1.0.7.tar.gz",
"has_sig": false,
"md5_digest": "1d6c90e9d9847112eca934cf34dd4b0d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 17233,
"upload_time": "2025-08-18T04:38:04",
"upload_time_iso_8601": "2025-08-18T04:38:04.492595Z",
"url": "https://files.pythonhosted.org/packages/d3/9d/675f0ea4d303f52928c3fa0bb835f9045c7b3281fb6845f65098881540dc/tagmaster_python-1.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-18 04:38:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tagmaster",
"github_project": "tagmaster-python",
"github_not_found": true,
"lcname": "tagmaster-python"
}