-
Notifications
You must be signed in to change notification settings - Fork 37
Open
Labels
SDKsTier 2Medium task, spanning 2-3 milestones requiring a moderate level of domain knowledge.Medium task, spanning 2-3 milestones requiring a moderate level of domain knowledge.
Description
Description (Problem Statement)
This issue is relevant if you wish to continue the work on the existing Python SDK . If you wish to create a new python SDK, this is the right issue for you.
Currently, the Flow python SDK is not yet in a release-worthy condition, however, a significant amount of work has already been done:
- Cadence JSON parsing
- Sending scripts
- Getting script results
- Sending transaction
- CI framework and release flow
The missing parts are:
- More tests
- A rework of the examples so they follow the user stories in the SDK Guidelines
- Documentation:
- Installation
- Usage
- Contribution
- Optimise for performance and usage
Experience Required
- Experience with python
- High-level understanding of Flow's architecture (block production, transaction states, etc.)
- Understanding of gRPC
- Understanding of the Flow Access API
Minimum Feature Set (Acceptance Criteria)
Meet the SDK Guidelines
- View the SDK Guidelines and implement your SDK accordingly.
Extension (Optional) Feature Set
Additional Functionality
- Identify and create methods that abstract common patterns to make it easier for developers to employ these patterns in their dapp.
Some possible functionalities are:
- Transaction templates for common transactions (like creating accounts, transferring FLOW, adding keys, ...)
- Automatically fetching the reference block when submitting transactions so the user does not need to writhe extra code to do that.
- An event subscription mechanic
Milestone Requirements
- Implement examples covering all user stories.
- Create tests, documentation, and optimize for performance and usability.
Software Requirements
- All requirements listed in the SDK Guidelines
- Production-ready code: The SDK is expected to be used in production by third parties and so it should be secure, performant, and ready to use out of the box with minimal configuration.
Other Requirements
Documentation
- The following pieces of documentation need to be completed alongside the code for a successful submission:
- Installation Guide: How to get this application up and running.
- Usage Guide: A highlight of all the features available and how to use them.
- Contribution Guide: A thorough explanation of the codebase, where features are located, a diagram explaining complex interactions, etc. This is intended to be a primer for new contributors that would like to add or modify features.
Code standards or guidelines
- Create code guidelines based on the best practices of the language chosen - attempt to be as semantic as possible to that language. Follow these guidelines during development, and assess against them for new contributions.
Judging Criteria
- For all projects, technical & high-level judging criteria apply.
- How easy and comprehensive is the SDK to use for Flow developers?
- How many use cases does it cover?
- How complex is it to learn and use?
- How performant is it to use in production?
Resources
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
SDKsTier 2Medium task, spanning 2-3 milestones requiring a moderate level of domain knowledge.Medium task, spanning 2-3 milestones requiring a moderate level of domain knowledge.