functional_intro_to_python  by noahgift

Functional Python and Rust for Data Science and AI

Created 8 years ago
314 stars

Top 85.7% on SourcePulse

GitHubView on GitHub
Project Summary

This repository offers a functional, data-science-centric introduction to Python, specifically designed for individuals with no prior programming experience. It aims to provide a streamlined learning path using modern tools and emphasizes code quality, with a unique approach of making examples transpilable to Rust for enhanced robustness and cross-language parity.

How It Works

The project adopts a modernized teaching methodology focused on functional programming principles tailored for data science tasks. It enforces a strict, curated toolchain including uv for environment and dependency management, ruff for linting and formatting, and ty for type checking. A key innovation is the transpilation of Python examples to Rust via depyler, with the Rust code then subjected to rigorous checks using clippy and proptest to ensure high standards and maintainability.

Quick Start & Requirements

Installation is handled by make install, which leverages uv for setting up the Python environment and dependencies. Jupyter notebooks can be launched using uv run jupyter lab. The project mandates strict quality gates, including 100% branch coverage achieved via pytest and coverage, and utilizes icontract with hypothesis for provable contracts. All checks and setup can be executed with make all. Additional specifications are available in docs/specifications/upgrade-spec.md.

Highlighted Details

  • Achieves 100% branch coverage for all tutorial examples using pytest and coverage.
  • Integrates icontract and hypothesis to enforce provable
Health Check
Last Commit

4 days ago

Responsiveness

Inactive

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

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Elvis Saravia Elvis Saravia(Founder of DAIR.AI), and
2 more.

learning by amitness

0.1%
7k
Curated list of resources for upskilling in software engineering and AI
Created 8 years ago
Updated 3 weeks ago
Feedback? Help us improve.