Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework packaging #365

Draft
wants to merge 17 commits into
base: master
Choose a base branch
from
Draft

Rework packaging #365

wants to merge 17 commits into from

Conversation

Endogen
Copy link
Contributor

@Endogen Endogen commented Jan 29, 2025

Migration to Poetry and Package Structure Improvements

This PR migrates the project to Poetry for better dependency management and PyPI publishing capabilities, introducing automated releases.

Changes

  • Added pyproject.toml for Poetry configuration
  • Added more comprehensive README.md with feature and usage documentation
  • Added GitHub Actions workflow for automated PyPI publishing
  • Added release.sh script for streamlined version management
  • Added .gitignore for Python projects
  • Updated license specification to Apache-2.0

Removed Files

  • Removed setup.py and setup.cfg (replaced by pyproject.toml)
  • Removed .version file (version now managed in pyproject.toml)

Project Structure

Project structure cleaned up to:

xian-core/
├── docs/
├── protos/
├── src/
│   ├── abci/
│   ├── cometbft/
│   ├── gogoproto/
│   ├── tendermint/
│   └── xian/
├── tests/
├── .github/
│   └── workflows/
│       └── publish.yml
├── LICENSE
├── Makefile
├── README.md
├── poetry.lock
├── pyproject.toml
└── release.sh

This change maintains all existing functionality while modernizing the package management and release process. The package can now be properly published to PyPI while maintaining the existing import structure (e.g., from xian.processor import TxProcessor).

This can now be started up with:

python3.11 -m venv xian-venv
source xian-venv/bin/activate
pip install xian-core
xian up

Note

TODO

  • The execution of the configure script still needs to be handled properly
  • The command xian up --bds doesn't work right now

Note

This now assumes that the cometbft executable is either in the PATH or in a standard location like /usr/local/bin/

@Endogen Endogen added the enhancement New feature or request label Jan 29, 2025
@Endogen Endogen self-assigned this Jan 29, 2025
@Endogen Endogen marked this pull request as draft January 30, 2025 00:15
@Endogen
Copy link
Contributor Author

Endogen commented Jan 30, 2025

It's all working except xian up --bds. Have to fix that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant