{"id":48846419,"url":"https://github.com/50gramx/eapp-python-domain","last_synced_at":"2026-06-26T07:01:33.033Z","repository":{"id":291669227,"uuid":"971630096","full_name":"50gramx/eapp-python-domain","owner":"50gramx","description":"🐍 Auto-generated Python client library for EAPP system contracts. Type-safe protobuf client with gRPC support for seamless Python integration.","archived":false,"fork":false,"pushed_at":"2026-06-25T05:33:55.000Z","size":4093,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-25T07:13:27.278Z","etag":null,"topics":["api","auto-generated","client-library","grpc","microservices","package-distribution","pip","protobuf","python","type-safe"],"latest_commit_sha":null,"homepage":"https://raw.githubusercontent.com/50gramx/eapp-python-domain/master/packages/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/50gramx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-23T20:17:11.000Z","updated_at":"2026-06-25T05:34:00.000Z","dependencies_parsed_at":"2025-05-05T23:38:01.060Z","dependency_job_id":"4c766f2f-cabe-406e-89d4-17ddb2fcaa9a","html_url":"https://github.com/50gramx/eapp-python-domain","commit_stats":null,"previous_names":["50gramx/eapp-python-domain"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/50gramx/eapp-python-domain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-python-domain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-python-domain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-python-domain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-python-domain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/50gramx","download_url":"https://codeload.github.com/50gramx/eapp-python-domain/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/50gramx%2Feapp-python-domain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34806448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["api","auto-generated","client-library","grpc","microservices","package-distribution","pip","protobuf","python","type-safe"],"created_at":"2026-04-15T05:32:50.757Z","updated_at":"2026-06-26T07:01:32.982Z","avatar_url":"https://github.com/50gramx.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EAPP Python Domain 🐍\n\n[![System Contracts Build](https://img.shields.io/github/actions/workflow/status/50gramx/eapp-system-contracts/protobuf-distribution.yml?label=system-contracts%20CI)](https://github.com/50gramx/eapp-system-contracts/actions/workflows/protobuf-distribution.yml)\n[![Latest Release](https://img.shields.io/github/v/release/50gramx/eapp-python-domain?label=latest%20release)](https://github.com/50gramx/eapp-python-domain/releases)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Package Index](https://img.shields.io/badge/index-private%20package%20index-blue)](https://raw.githubusercontent.com/50gramx/eapp-python-domain/master/packages/index.html)\n\n\u003e **Python client library for EAPP (Ethos Apps Platform)** - Auto-generated protobuf client code for seamless integration with EAPP services.\n\n## 📦 Package Index \u0026 Downloads\n\n### 🚀 Quick Access\n- **[📋 Package Index (HTML Preview)](https://html-preview.github.io/?url=https://github.com/50gramx/eapp-python-domain/blob/master/packages/index.html)** - View all available packages\n- **[📋 Raw Package Index](https://raw.githubusercontent.com/50gramx/eapp-python-domain/master/packages/index.html)** - Direct package index\n- **[📥 Latest Release](https://github.com/50gramx/eapp-python-domain/releases/latest)** - Download latest version\n- **[🏗️ Build Status](https://github.com/50gramx/eapp-system-contracts/actions/workflows/protobuf-distribution.yml)** - Check CI/CD status\n\n### 📦 Available Packages\n\u003e **📋 View all available packages and versions in our [Package Index (HTML Preview)](https://html-preview.github.io/?url=https://github.com/50gramx/eapp-python-domain/blob/master/packages/index.html)**\n\n### 🔧 Installation\n```bash\n# Install from our package index\npip install --index-url https://raw.githubusercontent.com/50gramx/eapp-python-domain/master/packages/index.html eapp-python-domain\n\n# Or install specific version\npip install --index-url https://raw.githubusercontent.com/50gramx/eapp-python-domain/master/packages/index.html eapp-python-domain==0.1.0.1752936352\n```\n\n## 📋 Table of Contents\n\n- [Overview](#-overview)\n- [🚀 Quick Start](#-quick-start)\n- [📦 Installation](#-installation)\n- [🔧 Usage](#-usage)\n- [📚 API Reference](#-api-reference)\n- [🔄 Auto-Generation](#-auto-generation)\n- [🤝 Contributing](#-contributing)\n- [📄 License](#-license)\n\n## 🌟 Overview\n\nEAPP Python Domain provides **auto-generated Python client code** for all EAPP system contracts. This package is automatically generated from Protocol Buffer definitions and provides type-safe, efficient access to EAPP services.\n\n### 🎯 Key Features\n\n- **🔄 Auto-Generated** - Built from protobuf definitions in [eapp-system-contracts](https://github.com/50gramx/eapp-system-contracts)\n- **📦 Type-Safe** - Full type hints and IDE support\n- **⚡ High Performance** - Optimized protobuf serialization\n- **🔒 Production Ready** - Used in production EAPP services\n- **📚 Comprehensive** - Covers all EAPP service contracts\n\n### 🏗️ Service Coverage\n\n| Service Category | Description | Available |\n|------------------|-------------|-----------|\n| **🔐 Identity** | User authentication \u0026 authorization | ✅ |\n| **💬 Communication** | Messaging \u0026 notifications | ✅ |\n| **🧠 Cognitive** | AI \u0026 knowledge management | ✅ |\n| **🛍️ Commerce** | Transactions \u0026 payments | ✅ |\n| **🌌 Multiverse** | Space \u0026 universe management | ✅ |\n\n## 🚀 Quick Start\n\n### 1. Installation\n\n```bash\n# Install from our private package index\npip install --index-url https://raw.githubusercontent.com/50gramx/eapp-python-domain/master/packages/index.html eapp-python-domain\n\n# Or install from PyPI (if published)\npip install eapp-python-domain\n```\n\n### 2. Basic Usage\n\n```python\nfrom eapp_python_domain.ethos import user_pb2, account_pb2\n\n# Create a user\nuser = user_pb2.User()\nuser.id = \"user123\"\nuser.name = \"John Doe\"\nuser.email = \"john@example.com\"\n\n# Create an account\naccount = account_pb2.Account()\naccount.id = \"acc123\"\naccount.user_id = user.id\naccount.status = account_pb2.AccountStatus.ACTIVE\n\nprint(f\"User: {user.name} ({user.email})\")\nprint(f\"Account: {account.id} - Status: {account.status}\")\n```\n\n### 3. Service Integration\n\n```python\nimport grpc\nfrom eapp_python_domain.ethos import account_service_pb2, account_service_pb2_grpc\n\n# Connect to EAPP service\nchannel = grpc.insecure_channel('localhost:50051')\nstub = account_service_pb2_grpc.AccountServiceStub(channel)\n\n# Create account request\nrequest = account_service_pb2.CreateAccountRequest()\nrequest.user_id = \"user123\"\nrequest.account_type = account_service_pb2.AccountType.PERSONAL\n\n# Call service\nresponse = stub.CreateAccount(request)\nprint(f\"Created account: {response.account.id}\")\n```\n\n## 📦 Installation\n\n### Requirements\n\n- **Python**: 3.7+\n- **Dependencies**: \n  - `protobuf\u003e=3.21.0`\n  - `grpcio\u003e=1.50.0`\n\n### Installation Methods\n\n#### 1. Private Package Index (Recommended)\n```bash\npip install --index-url https://raw.githubusercontent.com/50gramx/eapp-python-domain/master/packages/index.html eapp-python-domain\n```\n\n#### 2. From Source\n```bash\ngit clone https://github.com/50gramx/eapp-python-domain.git\ncd eapp-python-domain\npip install -e .\n```\n\n#### 3. Development Installation\n```bash\ngit clone https://github.com/50gramx/eapp-python-domain.git\ncd eapp-python-domain\npip install -e \".[dev]\"\n```\n\n## 🔧 Usage\n\n### Importing Modules\n\n```python\n# Core entities\nfrom eapp_python_domain.ethos import user_pb2\nfrom eapp_python_domain.ethos import account_pb2\nfrom eapp_python_domain.ethos import space_pb2\n\n# Service stubs\nfrom eapp_python_domain.ethos import account_service_pb2_grpc\nfrom eapp_python_domain.ethos import user_service_pb2_grpc\nfrom eapp_python_domain.ethos import space_service_pb2_grpc\n```\n\n### Working with Messages\n\n```python\nfrom eapp_python_domain.ethos import user_pb2\n\n# Create messages\nuser = user_pb2.User(\n    id=\"user123\",\n    name=\"John Doe\",\n    email=\"john@example.com\",\n    status=user_pb2.UserStatus.ACTIVE\n)\n\n# Serialize to bytes\nuser_bytes = user.SerializeToString()\n\n# Deserialize from bytes\nuser_from_bytes = user_pb2.User()\nuser_from_bytes.ParseFromString(user_bytes)\n\n# Convert to/from JSON\nuser_json = user.to_json()\nuser_from_json = user_pb2.User.from_json(user_json)\n```\n\n### gRPC Service Calls\n\n```python\nimport grpc\nfrom eapp_python_domain.ethos import account_service_pb2, account_service_pb2_grpc\n\nasync def get_user_accounts(user_id: str):\n    async with grpc.aio.insecure_channel('localhost:50051') as channel:\n        stub = account_service_pb2_grpc.AccountServiceStub(channel)\n        \n        request = account_service_pb2.GetUserAccountsRequest(user_id=user_id)\n        response = await stub.GetUserAccounts(request)\n        \n        return response.accounts\n```\n\n## 📚 API Reference\n\n### Core Entities\n\n#### User\n```python\nfrom eapp_python_domain.ethos import user_pb2\n\nuser = user_pb2.User(\n    id=\"string\",           # Unique user identifier\n    name=\"string\",         # Display name\n    email=\"string\",        # Email address\n    status=user_pb2.UserStatus.ACTIVE,  # User status\n    created_at=\"timestamp\", # Creation timestamp\n    updated_at=\"timestamp\"  # Last update timestamp\n)\n```\n\n#### Account\n```python\nfrom eapp_python_domain.ethos import account_pb2\n\naccount = account_pb2.Account(\n    id=\"string\",           # Unique account identifier\n    user_id=\"string\",      # Associated user ID\n    type=account_pb2.AccountType.PERSONAL,  # Account type\n    status=account_pb2.AccountStatus.ACTIVE, # Account status\n    created_at=\"timestamp\" # Creation timestamp\n)\n```\n\n#### Space\n```python\nfrom eapp_python_domain.ethos import space_pb2\n\nspace = space_pb2.Space(\n    id=\"string\",           # Unique space identifier\n    name=\"string\",         # Space name\n    description=\"string\",  # Space description\n    owner_id=\"string\",     # Owner user ID\n    type=space_pb2.SpaceType.PUBLIC,  # Space type\n    created_at=\"timestamp\" # Creation timestamp\n)\n```\n\n### Service Stubs\n\n#### AccountService\n```python\nfrom eapp_python_domain.ethos import account_service_pb2_grpc\n\n# Available methods:\n# - CreateAccount(request)\n# - GetAccount(request)\n# - UpdateAccount(request)\n# - DeleteAccount(request)\n# - GetUserAccounts(request)\n```\n\n#### UserService\n```python\nfrom eapp_python_domain.ethos import user_service_pb2_grpc\n\n# Available methods:\n# - CreateUser(request)\n# - GetUser(request)\n# - UpdateUser(request)\n# - DeleteUser(request)\n# - ListUsers(request)\n```\n\n## 🔄 Auto-Generation\n\nThis package is **automatically generated** from protobuf definitions in the [eapp-system-contracts](https://github.com/50gramx/eapp-system-contracts) repository.\n\n### Generation Process\n\n1. **Protobuf Changes** - Updates to `.proto` files in system-contracts\n2. **CI/CD Trigger** - GitHub Actions workflow automatically triggers\n3. **Code Generation** - `protoc` generates Python code from `.proto` files\n4. **Package Building** - Creates Python wheel and source distribution\n5. **Release Creation** - Creates GitHub release with new version\n6. **Index Update** - Updates package index with new release\n\n### Versioning\n\n- **Auto-generated versions** - Based on timestamp: `0.1.0.{timestamp}`\n- **Release frequency** - On every protobuf change\n- **Backward compatibility** - Maintained within major versions\n\n## 🤝 Contributing\n\n### For Python-Specific Changes\n\n1. **Fork** the repository\n2. **Create** a feature branch\n3. **Make** your changes\n4. **Test** thoroughly\n5. **Submit** a pull request\n\n### For Protobuf Changes\n\n1. **Update** protobuf definitions in [eapp-system-contracts](https://github.com/50gramx/eapp-system-contracts)\n2. **Push** to trigger auto-generation\n3. **Review** generated Python code\n4. **Test** with your changes\n\n### Development Setup\n\n```bash\n# Clone repository\ngit clone https://github.com/50gramx/eapp-python-domain.git\ncd eapp-python-domain\n\n# Install in development mode\npip install -e \".[dev]\"\n\n# Run tests\npython -m pytest tests/\n\n# Run linting\nflake8 src/\nblack src/\n```\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 🔗 Quick Links\n\n- **📦 Package Index**: [View Packages](https://raw.githubusercontent.com/50gramx/eapp-python-domain/master/packages/index.html)\n- **🏗️ System Contracts**: [eapp-system-contracts](https://github.com/50gramx/eapp-system-contracts)\n- **🐛 Issues**: [GitHub Issues](https://github.com/50gramx/eapp-python-domain/issues)\n- **📖 Documentation**: [API Docs](https://github.com/50gramx/eapp-python-domain/wiki)\n- **💬 Discussions**: [GitHub Discussions](https://github.com/50gramx/eapp-python-domain/discussions)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\u003cstrong\u003eAuto-generated Python client for EAPP System Contracts\u003c/strong\u003e\u003c/p\u003e\n  \u003cp\u003e\u003cem\u003eBuilt with ❤️ by the EAPP Team\u003c/em\u003e\u003c/p\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F50gramx%2Feapp-python-domain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F50gramx%2Feapp-python-domain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F50gramx%2Feapp-python-domain/lists"}