You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Investigate and adjust the dependency version constraints for key crypto libraries and AI toolkits used in the project to improve compatibility with other projects and provide clearer boundaries for supported versions.
Background
Currently, the project uses caret ^ constraints in pyproject.toml for dependencies like web3, solana, solders, eth_account, langchain and others. While caret constraints allow for flexibility, they can lead to dependency conflicts in Python's flat dependency space and make it difficult to predict compatibility with other projects.
Tasks
Research Minimum Library Versions:
Identify a list of major projects that depend on or interact with libraries like web3, solana, solders, eth_account, langchain, etc. (expand this list with other relevant libraries used in the project).
Research the minimum versions of these libraries used in those major projects. The goal is to establish a conservative lower bound that supports a wide range of existing projects.
Adjust Lower Bounds in pyproject.toml:
Update the minimum dependency version constraints in the pyproject.toml files of relevant packages based on the research findings.
Ensure the lower bounds are sufficiently conservative to maximize compatibility while still allowing access to necessary features.
Investigate High Bound Compatibility:
Determine the highest versions of the libraries that are currently compatible with our codebase.
Adapt code if necessary to support newer versions or identify specific breaking changes that limit our high bound.
Implement Unit Tests for High Bounds:
Create unit tests that specifically target compatibility with the identified high bounds of the libraries.
These tests should help ensure that code changes do not inadvertently break compatibility with newer library versions.
Refine Version Constraints:
Replace caret ^ constraints with more explicit version ranges (e.g., >=X.Y, <Z.W) to define a clearer compatibility window.
Document the rationale behind the chosen version ranges and the tested compatibility boundaries.
Goal
To achieve broad compatibility with other Python projects relying on similar libraries while providing certainty about the supported version range of our dependencies. This will reduce the likelihood of dependency conflicts and provide users with a more stable and predictable development experience.
The text was updated successfully, but these errors were encountered:
Description
Investigate and adjust the dependency version constraints for key crypto libraries and AI toolkits used in the project to improve compatibility with other projects and provide clearer boundaries for supported versions.
Background
Currently, the project uses caret
^
constraints inpyproject.toml
for dependencies likeweb3
,solana
,solders
,eth_account
,langchain
and others. While caret constraints allow for flexibility, they can lead to dependency conflicts in Python's flat dependency space and make it difficult to predict compatibility with other projects.Tasks
web3
,solana
,solders
,eth_account
,langchain
, etc. (expand this list with other relevant libraries used in the project).pyproject.toml
:pyproject.toml
files of relevant packages based on the research findings.^
constraints with more explicit version ranges (e.g.,>=X.Y, <Z.W
) to define a clearer compatibility window.Goal
To achieve broad compatibility with other Python projects relying on similar libraries while providing certainty about the supported version range of our dependencies. This will reduce the likelihood of dependency conflicts and provide users with a more stable and predictable development experience.
The text was updated successfully, but these errors were encountered: