Skip to content

Latest commit

 

History

History
150 lines (102 loc) · 4.48 KB

File metadata and controls

150 lines (102 loc) · 4.48 KB

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.