Skip to content

Commit 4d972aa

Browse files
committed
docs: update README badges and add 1.0 highlights
- Add modern badges (CI, PyPI, Python version, License) - Add 'What's New in 1.0' section highlighting modernization - Update install instructions to include uv
1 parent d8dbd52 commit 4d972aa

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

README.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,24 @@
11
# Functors, Applicatives, And Monads in Python
22

3-
![Python package](https://github.com/dbrattli/OSlash/workflows/Python%20package/badge.svg)
3+
[![CI](https://github.com/dbrattli/OSlash/workflows/CI/badge.svg)](https://github.com/dbrattli/OSlash/actions)
4+
[![PyPI](https://img.shields.io/pypi/v/oslash.svg)](https://pypi.org/project/oslash/)
5+
[![Python Version](https://img.shields.io/pypi/pyversions/oslash.svg)](https://pypi.org/project/oslash/)
6+
[![License](https://img.shields.io/github/license/dbrattli/OSlash.svg)](https://github.com/dbrattli/OSlash/blob/master/LICENSE)
47

58
OSlash (Ø) is a library for learning and understanding functional programming in Python 3.12+. It re-implements
69
concepts from [Learn You a Haskell for Great Good!](http://learnyouahaskell.com/) using Python with modern type annotations. OSlash unifies
710
functional and object-oriented paradigms by grouping related functions within classes. Objects are never used
811
for storing values or mutable data; data exists only within function closures.
912

13+
## ✨ What's New in 1.0
14+
15+
**OSlash 1.0 is a complete modernization** for Python 3.12+:
16+
17+
- **Modern Type System**: Fully type-checked with Pyright in strict mode
18+
- **PEP 695 Syntax**: Clean type parameters (`class Maybe[T]:` instead of `Generic[T]`)
19+
- **Modern Tooling**: Built with uv, formatted with ruff, validated with pre-commit hooks
20+
- **Production Status**: Stable release ready for educational use
21+
1022
**Type Safety**: OSlash is fully type-checked with Pyright in strict mode, providing excellent IDE support and catching errors at development time. It leverages Python 3.12's PEP 695 type parameter syntax for clean, ergonomic generic types.
1123

1224
OSlash is intended to be a tutorial. For practical functional programming in Python in production environments you
@@ -15,7 +27,11 @@ should use [Expression](https://github.com/dbrattli/Expression) instead.
1527
## Install
1628

1729
```bash
18-
> pip3 install oslash
30+
# Using pip
31+
pip install oslash
32+
33+
# Or using uv (recommended)
34+
uv add oslash
1935
```
2036

2137
The project currently contains implementations for:

0 commit comments

Comments
 (0)