Skip to content

Bearsampp/module-python

GitHub release Total downloads CI/CD Tests

Bearsampp Module - Python

This is a module of Bearsampp project involving Python.

About

This module provides Python integration for Bearsampp, supporting multiple Python versions with automatic PIP upgrades and wheel package management.

Documentation and Downloads

https://bearsampp.com/module/python

Build System

This module uses a pure Gradle build system (no wrapper, no Ant dependencies) for packaging Python releases.

Quick Start

# Verify your build environment
gradle verify

# List available Python versions
gradle listVersions

# Build a release for a specific version
gradle release "-PbundleVersion=3.13.5"

# View all available tasks
gradle tasks

Prerequisites

  • Java 8 or higher
  • Gradle 7.0 or higher
  • 7-Zip (for archive creation)

Documentation

Comprehensive build system documentation is available in the .gradle-docs/ directory:

Common Tasks

# Display build information
gradle info

# Verify build environment
gradle verify

# List available Python versions
gradle listVersions

# Build a release (interactive)
gradle release

# Build a release (non-interactive)
gradle release "-PbundleVersion=3.13.5"

# Clean build artifacts
gradle clean

# Validate Python version structure
gradle validatePythonVersion "-PbundleVersion=3.13.5"

# Show wheel package information
gradle showWheelInfo "-PbundleVersion=3.13.5"

Features

  • ✅ Pure Gradle build system (no wrapper, no Ant)
  • ✅ Support for multiple Python versions
  • ✅ Automatic PIP upgrades during build
  • ✅ Wheel package download and installation
  • ✅ Build caching for faster builds
  • ✅ Parallel execution support
  • ✅ Interactive and non-interactive build modes
  • ✅ Comprehensive verification and validation tasks
  • ✅ Automated CI/CD testing for all Python versions

CI/CD System

This module includes automated CI/CD testing that validates Python modules.

Automated Testing

The CI/CD pipeline automatically:

  • 🔍 Detects Python versions from pre-release files in PRs
  • 📥 Downloads and extracts Python modules
  • ✅ Verifies executables (python.exe, pip.exe)
  • 🧪 Tests basic functionality (version, pip, imports)
  • 📊 Generates detailed test reports
  • 💬 Comments on pull requests with results

Triggering Tests

Tests run automatically when:

  • Pull requests include pre-release .7z files (e.g., bearsampp-python-3.13.5-2025.8.21.7z)
  • PR titles contain version numbers as fallback (e.g., "Add Python 3.13.5")
  • Pushes to main branch (tests latest version only)
  • Manual workflow dispatch

See CI/CD Workflow Documentation for details.

Project Structure

module-python/
├── .gradle-docs/          # Build system documentation
├── bin/                   # Python version directories
│   └── python{version}/
│       ├── bin/
│       ├── wheel/
│       └── bearsampp.conf
├── build.gradle           # Main build script
├── settings.gradle        # Gradle settings
├── gradle.properties      # Gradle configuration
├── build.properties       # Bundle configuration
└── releases.properties    # Available Python releases

Issues

Issues must be reported on Bearsampp repository.

Contributing

Contributions are welcome! Please read the build system documentation before contributing.

License

See LICENSE file for details.

About

Python module for the Bearsampp Project

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •