[GENERAL] Name and surname of main applicant
Jerry
[GENERAL] Are you delivering this project as an individual or as an entity (whether formally incorporated or not)
Individual
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
4
[GENERAL] Please indicate if your proposal has been auto-translated into English from another language
No
[GENERAL] Summarize your solution to the problem (200-character limit including spaces)
Update PyCardano to align with Chang hardfork, ensuring compatibility with existing features and adding new ones like DRep voting. This will restore and expand functionality for Cardano developers.
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
No
[GENERAL] If YES, please describe what the dependency is and why you believe it is essential for your project’s delivery. If NO, please write “No dependencies.”
No dependencies.
[GENERAL] Will your project’s output/s be fully open source?
Yes
[GENERAL] Please provide here more information on the open source status of your project outputs
PyCardano is fully open-sourced and available at https://github.com/Python-Cardano/pycardano
License: MIT License
[METADATA] Horizons
Developer Tools
[SOLUTION] Please describe your proposed solution
We propose a comprehensive upgrade of PyCardano to align it with the latest specifications introduced by the Chang hardfork. This upgrade will not only restore compatibility with existing functionalities but also introduce support for new features, such as Decentralized Representative (DRep) voting.
Approach Rationale
Our approach focuses on a thorough update rather than a quick fix for several reasons:
- Future-proofing: By aligning closely with the new specifications, we reduce the likelihood of future incompatibilities.
- Feature expansion: This upgrade allows us to incorporate new Cardano features, e.g. DRep , enhancing PyCardano's utility.
- Community support: A comprehensive update demonstrates our commitment to the Cardano ecosystem, encouraging continued use and development of Python-based Cardano projects.
Engagement
This project will directly engage:
- Cardano developers using Python
- Project managers and teams building on Cardano
- The broader Cardano community interested in ecosystem growth
Impact Demonstration
We will demonstrate the impact of our solution through:
- Comprehensive testing to ensure full compatibility with post-Chang hardfork Cardano network
- Documentation and examples of new feature implementations, such as DRep voting
- Monitoring of PyCardano adoption rates and usage statistics post-upgrade
- Gathering feedback from the developer community on the upgraded library's performance and utility
Importance to Cardano
This upgrade is crucial for Cardano because:
- It maintains Python as a viable language for Cardano development, broadening the ecosystem's developer base
- It ensures that existing Python-based projects can continue to function and evolve
- It demonstrates Cardano's commitment to supporting diverse development tools and languages
- It facilitates the adoption of new Cardano features like DRep voting in Python-based applications
By implementing this solution, we aim to reinforce PyCardano's position as a cornerstone library in the Cardano ecosystem, fostering continued growth, innovation, and diversity in Cardano-based development.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community
Impact on the Cardano Community
Developer Empowerment
- Restoring and enhancing PyCardano's functionality will allow Python developers to continue building on Cardano, maintaining the ecosystem's language diversity.
- The addition of new features like DRep voting support will enable developers to create more advanced and governance-focused applications.
Ecosystem Growth
- A fully functional PyCardano will support the continued operation and growth of existing Python-based Cardano projects.
- It will encourage new developers and projects to join the Cardano ecosystem, leveraging Python's popularity and extensive libraries.
Innovation Catalyst
- By providing access to Cardano's latest features, PyCardano will facilitate innovative applications that can enhance the overall utility and appeal of the Cardano blockchain.
Measuring Impact
We will measure the impact of our project through both quantitative metrics:
- Track monthly download statistics on PyPi (currently over 5,000 monthly downloads).
- Monitor the number of GitHub projects depending on PyCardano (currently over 100).
- Measure the increase in PyCardano's GitHub stars (currently over 200) and forks.
[CAPABILITY & FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?
Capability and Experience
Leadership:
- Jerry, the creator of PyCardano, will lead this project. His deep understanding of both the library and Cardano's ecosystem makes him uniquely qualified to oversee this upgrade.
- Jerry's experience as a blockchain developer ensures that the technical challenges of aligning with the Chang hardfork can be effectively addressed.
Track Record:
- The success of PyCardano, with over 100 dependent projects on GitHub and 5,000+ monthly downloads, demonstrates our team's ability to create and maintain critical infrastructure for the Cardano ecosystem.
- The active Discord community (100+ members) shows our ongoing engagement with users and our ability to address their needs.
Technical Expertise:
- Our team's familiarity with Cardano's protocol, combined with expertise in Python development, positions us to efficiently implement the necessary upgrades.
- We have a history of successfully adapting PyCardano to previous Cardano updates (Alonzo, Vasil), showcasing our ability to respond to network changes.
Feasibility Validation
Phased Approach:
- Each phase will have clear milestones and deliverables, allowing for regular progress assessment and course correction if needed.
Testing Strategy:
- Comprehensive unit and integration testing will be implemented for all new and updated features.
- We will set up a testnet environment to validate PyCardano's functionality in conditions that mirror the live Cardano network.
Community Beta Testing:
- Engage our active user base in beta testing new features, leveraging their diverse use cases to ensure broad compatibility.
Open Development Process:
- All development work will be conducted in public GitHub repositories, ensuring transparency in our progress and decision-making.
- Regular updates will be posted to our Discord community and other Cardano forums, keeping stakeholders informed.
By leveraging our proven track record with PyCardano, implementing a rigorous development and testing process, and ensuring transparent operations, we are well-positioned to deliver this crucial upgrade with high levels of trust and accountability. Our approach balances technical expertise with community engagement, ensuring that the end result will meet the needs of the Cardano ecosystem.
[PROJECT MILESTONES] What are the key milestones you need to achieve in order to complete your project successfully?
Chang Specification Implementation (8 weeks)
A. Milestone Outputs:
B. Acceptance Criteria:
- All Chang hardfork protocol changes are implemented in PyCardano
- Unit tests pass with at least 85% code coverage
C. Evidence of Milestone Completion:
- GitHub repository with updated codebase
- Unit test results and coverage report
Integration Testing (4 weeks)
A. Milestone Outputs:
- Integration test suite covering all major PyCardano functionalities
- Testnet environment mirroring Cardano mainnet post-Chang hardfork
B. Acceptance Criteria:
- Integration tests cover all key PyCardano features, including new Chang hardfork functionality
- All integration tests pass on the testnet environment
- Successful DRep-related transaction creation, submission, and validation on testnet
C. Evidence of Milestone Completion:
- Integration test suite in GitHub repository
- Test execution logs and results
Documentation and Tutorial Examples (4 weeks)
A. Milestone Outputs:
- Comprehensive API documentation for the updated PyCardano
- Tutorial series covering basic and advanced usage
- Example projects demonstrating new features (e.g., DRep voting)
B. Acceptance Criteria:
- Documentation covers all public APIs with clear explanations and examples
- Minimum of one project showcasing DRep voting
C. Evidence of Milestone Completion:
- Published documentation on ReadTheDocs or similar platform
- Example projects in GitHub repository with README files and comments
[RESOURCES] Who is in the project team and what are their roles?
Jerry, as the creator of PyCardano and an experienced blockchain developer, will be solely responsible for all aspects of this project. His comprehensive understanding of both PyCardano and the Cardano ecosystem positions him uniquely to execute this upgrade efficiently and effectively.
Github: https://github.com/cffls
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources
Milestone 1: Chang Specification Implementation
Total Cost: 100,000 ADA
Milestone 2: Integration Testing
Total Cost: 50,000 ADA
Milestone 3: Documentation and Tutorial Examples
Total Cost: 50,000 ADA
Total Project Cost: 200,000 ADA
Additional Notes:
- Costs include necessary software tools, testing environments, and any other resources required for successful project completion.
- The budget allocation reflects the complexity and importance of each milestone, with a higher allocation for the initial implementation phase.
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
Value for Money in the Cardano Ecosystem:
- Widespread Impact: PyCardano is a cornerstone library in the Cardano ecosystem, with over 100 open-source projects depending on it. This wide adoption means that the proposed upgrade will have a far-reaching positive impact, benefiting not just direct users of PyCardano, but also the users and stakeholders of all dependent projects.
- Enabling Critical Infrastructure: Many influential projects in the Cardano ecosystem are built on PyCardano, including Charli3 Dendrite and OpShin. By upgrading PyCardano, we're not just improving a single library, but enhancing the foundation upon which a significant portion of the Cardano Python ecosystem is built.
- Cost-Effective Ecosystem-Wide Upgrade: The total project cost of 200,000 ADA represents a highly efficient investment when considering the alternative - if each of the 100+ projects depending on PyCardano had to individually adapt to the Chang hardfork, the cumulative cost and effort would be substantially higher.
- Maintaining Ecosystem Diversity: By ensuring PyCardano remains compatible with the latest Cardano protocols, we're preserving Python as a viable language for Cardano development. This language diversity is crucial for attracting and retaining a broad developer base, which in turn drives innovation and growth in the Cardano ecosystem.
- Future-Proofing Investment: The upgrade doesn't just address current compatibility issues; it also sets up PyCardano to more easily incorporate future Cardano updates. This forward-looking approach provides long-term value, reducing the need for major overhauls in the future.
- Skilled Expertise: The project will be led by Jerry, the original creator of PyCardano. His deep familiarity with both the library and the Cardano ecosystem ensures efficient use of resources, minimizing wasted effort and maximizing the value delivered per ADA spent.
- Open-Source Benefits: As an open-source project, the improvements made to PyCardano will be freely available to the entire Cardano community. This magnifies the value of the investment, as it can be leveraged by any developer or project without additional cost.