Skip to content

Commit 2458f6e

Browse files
authored
Add substrate-interace maintenance application (#2571)
1 parent f042d6c commit 2458f6e

File tree

1 file changed

+134
-0
lines changed

1 file changed

+134
-0
lines changed
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
# `substrate-interface` maintenance
2+
3+
- **Team Name:** Stanislav Terliakov
4+
- **Payment Address:** 13fczWPtdAtkePBYgW5SuwVBvDvEfXYPAPsfbue5ez2CrGEF (DOT, USDC).
5+
- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2
6+
7+
## Project Overview :page_facing_up:
8+
9+
### Overview
10+
11+
`py-polkadot-sdk` (available on PyPI as `substrate-interface`) is a Python SDK for interfacing with Substrate nodes.
12+
13+
It's been around since 2019. This package powers hundreds, if not thousands, of real-world projects.
14+
15+
Here's a brief usage summary:
16+
17+
- 235k PyPI downloads last month ([PyPIStats](https://pypistats.org/packages/substrate-interface)), without any signs
18+
of decreasing usage.
19+
- 258 GitHub stars.
20+
21+
It is the primary Python SDK for interacting with Substrate, which means it is one of the cornerstones
22+
of server-side development that needs access to Substrate information and modifications.
23+
24+
Unfortunately, currently it is essentially unmaintained:
25+
26+
- Only two commits have been made in 2025, both only affecting documentation.
27+
- Package unit tests are failing in CI.
28+
- There are many lint errors despite using *very* low-level linter configuration that fails to catch many common
29+
kinds of bugs. These lint errors are just intentionally ignored/hidden in CI.
30+
- Open issues keep accumulating, including severe runtime crashes (see below).
31+
- Officially declared Python support is for versions from 3.7 to 3.11. Latest Python version is 3.13,
32+
released in Oct. 2024, and 3.7 is EOL (end of life) for years.
33+
- Package has very low type annotations (aka type hints) coverage. Static typing became de-facto standard in Python
34+
world several years ago, so lack of sufficient static information has significant negative impact on developer
35+
experience and IDE feedback.
36+
- Lack of metadata V15 support indicates significant gap between this library and latest Substrate development.
37+
38+
Current state of `substrate-interface` development does not match the reliability and quality of the rest of the
39+
ecosystem.
40+
41+
### Maintenance list
42+
43+
- https://github.com/JAMdotTech/py-polkadot-sdk
44+
45+
## Team :busts_in_silhouette:
46+
47+
### Team members
48+
49+
- Stanislav Terliakov
50+
51+
### Contact
52+
53+
- **Contact Name:** Stanislav Terliakov
54+
- **Contact Email:** [email protected]
55+
- **Website:** https://sterliakov.github.io/
56+
57+
### Legal Structure
58+
59+
- **Registered Address:** N/A
60+
- **Registered Legal Entity:** N/A
61+
62+
### Team's experience
63+
64+
I'm a backend developer with over five years of Python experience, currently leading a development team at Simpleem.
65+
I have extensive blockchain experience, including multiple award-winning hackathon submissions
66+
([DevPost profile](https://devpost.com/sterliakov)), and Python is my primary development language.
67+
68+
My open-source contributions include over 50 merged [pull requests](https://github.com/python/mypy/pulls/sterliakov)
69+
to mypy, a static type checker maintained by the Python core team, and contributions to other projects.
70+
I also previously developed and continue to maintain a [Rust SDK](https://github.com/sterliakov/thor-devkit.rs)
71+
for VeChain, which powers several real-world projects and was funded by a VeChain grant.
72+
73+
### Team Code Repos
74+
75+
- https://github.com/sterliakov/mypy-issues
76+
- https://github.com/sterliakov/thor-devkit.rs
77+
- https://github.com/sterliakov/toggl-tracker
78+
79+
GitHub account: https://github.com/sterliakov
80+
81+
### Team LinkedIn Profiles (if available)
82+
83+
N/A
84+
85+
## Development Status :open_book:
86+
87+
I have not started maintenance tasks in that repository. I have contacted the developer team asking for their
88+
preference (https://github.com/JAMdotTech/py-polkadot-sdk/issues/419).
89+
90+
See the next section for more specific action points in scope of this grant.
91+
92+
## Maintenance Responsibilities :nut_and_bolt:
93+
94+
High-priority tickets I will resolve:
95+
96+
- Runtime crash with no workaround: https://github.com/JAMdotTech/py-polkadot-sdk/issues/405
97+
- Runtime crash: https://github.com/JAMdotTech/py-polkadot-sdk/issues/412
98+
- Runtime crash: https://github.com/JAMdotTech/py-polkadot-sdk/issues/336
99+
- Missing important functionality: https://github.com/JAMdotTech/py-polkadot-sdk/issues/348
100+
- Other tickets depending on their prioritization
101+
102+
Implementation defects I intend to address:
103+
104+
- Failing unit tests
105+
- Insufficient static type annotations coverage
106+
- Existing lint violations
107+
- Weak linter configuration
108+
- Lack of automated code formatting
109+
- Extremely outdated GitHub actions, not conformant to modern CI/CD security standards
110+
- No centralized dependency management (vulnerability scans, dependabot, etc.)
111+
112+
Additionally, I will triage the existing tickets (or guarantee quick replies to issues opened again my fork
113+
and PR reviews).
114+
115+
### Overview
116+
117+
- **Start Date:** As soon as this proposal is approved
118+
- **Sprint/Period Duration:** 2 weeks
119+
- **Total Duration:** 3 months
120+
- **Full-Time Equivalent (FTE):** 0.5 FTE
121+
- **Max budget per sprint/period:** 6000 USD (estimated at 20 h/week with 25% extra allowance),
122+
capped at 30000 USD for the whole period.
123+
- **DOT %:** 50
124+
- **Hourly rate:** 120 USD
125+
126+
## Future Plans
127+
128+
- Expand the documentation and specifically usage examples
129+
- List this project on my public pages
130+
- Continue contributing to `substrate-interface` or maintaining my fork in future
131+
132+
## Additional Information :heavy_plus_sign:
133+
134+
**How did you hear about the Maintenance Grants Program?** Web3 Foundation Website

0 commit comments

Comments
 (0)