Ascender  by cvpaperchallenge

Project template for Python-based research

created 3 years ago
413 stars

Top 72.1% on sourcepulse

GitHubView on GitHub
Project Summary

Ascender is a Python project template designed to accelerate scientific development and research by providing a pre-configured environment with integrated tools for containerization, dependency management, code quality, and testing. It targets researchers and developers who want to quickly set up reproducible and robust Python projects.

How It Works

Ascender leverages Docker for containerization, ensuring dependency minimization and code portability. It uses Poetry for reproducible virtual environments and package management, Ruff for automated code linting and formatting, and Mypy for static type checking to catch bugs early. Testing is streamlined with pytest, and Poe the Poet handles task automation. GitHub Actions are integrated for CI/CD, issue templates, and other repository management features.

Quick Start & Requirements

  • Install: Clone the repository, navigate to environments/gpu (or environments/cpu), and run sudo docker compose up -d. Then, enter the container with sudo docker compose exec core bash and run poetry install.
  • Prerequisites: Docker, Docker Compose, and NVIDIA Container Toolkit (for GPU support). Installation instructions are provided for Ubuntu.
  • Resources: Ascender GitHub Repository

Highlighted Details

  • Integrates Docker, Poetry, Ruff, Mypy, pytest, and Poe the Poet for a comprehensive development workflow.
  • Supports GPU acceleration via NVIDIA Container Toolkit and Docker.
  • Provides clear guidance on managing environment variables and avoiding container name conflicts when running multiple projects.
  • Offers a fallback option to run without Docker using Poetry directly.

Maintenance & Community

The project is developed by the XCCV group of cvpaper.challenge. Further community interaction details are not explicitly provided in the README.

Licensing & Compatibility

The LICENSE file is present, but the specific license type and its compatibility for commercial or closed-source use are not detailed in the README.

Limitations & Caveats

The README notes potential permission errors with poetry install if local UID/GID do not match the default 1000, requiring configuration adjustments in docker-compose.yaml. Running without Docker may cause CI jobs to fail. Changes to the Dockerfile may require explicit cache busting (--no-cache) and container recreation (--force-recreate) to be reflected.

Health Check
Last commit

6 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
2 stars in the last 90 days

Explore Similar Projects

Starred by Elie Bursztein Elie Bursztein(Cybersecurity Lead at Google DeepMind), Tim J. Baek Tim J. Baek(Founder of Open WebUI), and
1 more.

harbor by av

1.0%
2k
CLI tool for local LLM stack orchestration
created 1 year ago
updated 2 days ago
Feedback? Help us improve.