- Complete Java bridge: Access all SNT Java classes from Python
- Consistent API: 1:1 correspondence with SNT's java API
- Type hints: Type annotation support with .pyi files
- IDE support: Auto-completion in IDEs
- Dynamic loading: Lazy loading of Java classes for better performance
- Development Tools: Utilities to res
- Headless operations only
- May require unreleased versions of SNT
- Mostly untested
# 1. Clone the repository
git clone https://github.com/morphonets/pysnt.git
cd pysnt
# 2. Set up conda/mamba (if not already configured)
mamba config append channels conda-forge
mamba config set channel_priority strict
# 3. Create and activate the development environment
mamba env create -f environment-dev.yml
mamba activate pysnt-dev
# 4. Install PySNT in development mode
pip install -e .[dev]
# 5. Verify the setup
python -c "import pysnt; print('PySNT imported successfully!')"
# 6. Have a look at ./dev/README.md for common workflows
- Open this folder as a project in PyCharm
- Go to File → Settings → Project → Python Interpreter
- Select the 'pysnt' conda environment
- Open this folder in VS Code
- Install recommended extensions when prompted
- Select the 'pysnt' Python interpreter when prompted
- Make sure Spyder is installed in the 'pysnt' environment:
conda activate pysnt conda install spyder
- Launch Spyder from the activated environment
- Open this folder as a project: File → Open Project
pysnt/
├── src/pysnt/ # Main package source
├── tests/ # Test suite
├── scripts/ # Development scripts
├── docs/ # Documentation source
├── dev/ # Development utilities and templates
├── environment.yml # Environment specification (runtime)
└── environment-dev.yml # Environment specification (development)
- 📖 Documentation: pysnt.readthedocs.io
- 💬 Forum: forum.image.sc/tag/snt
- 🐛 Issues: GitHub Issues