Skip to content

Commit 1c8c53d

Browse files
author
SCAO Authors
committed
docs: update README for pip install and add arXiv endorsement CTA
1 parent 39f6e77 commit 1c8c53d

5 files changed

Lines changed: 69 additions & 101 deletions

File tree

MANIFEST.in

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@ include README.md
33
include CHANGELOG.md
44
include pyproject.toml
55

6-
recursive-include scao *.py
6+
recursive-include scao *.py *.cu *.h
77
recursive-include configs *.yaml
88
exclude scao/benchmarks/*.py
99
exclude scao/tests/*.py
1010
exclude scripts/*
1111
exclude paper/*
1212
exclude results_*.csv
13+
exclude report_*.txt
14+
exclude *.csv
15+

README.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,17 @@
88
[![PyTorch](https://img.shields.io/badge/pytorch-2.0%2B-orange)](https://pytorch.org)
99

1010
> **A second-order PyTorch optimizer that delivers Shampoo-quality preconditioned gradients at near-AdamW memory and throughput cost.**
11-
> Drop-in replacement for `AdamW`. One-line change. Real gains.
11+
> Drop-in replacement for `AdamW`. One-line change. Real gains.
12+
> **Now available on PyPI:** `pip install scao`
13+
14+
---
15+
16+
## 🚀 Support the Research
17+
18+
If you have endorsement rights on arXiv for **cs.LG** (Machine Learning), please consider endorsing our paper to help us share this work with the community:
19+
20+
👉 **[Endorse SCAO on arXiv](https://arxiv.org/auth/endorse?x=X3VJ88)**
21+
1222

1323
---
1424

@@ -30,14 +40,15 @@
3040

3141
### Objection 3 — "It's lab code. Not suitable for the real world."
3242

33-
**Test:** Eliminated every dependency on PyTorch or Hugging Face internals ([`examples/scao.py`](examples/scao.py))
43+
**Test:** SCAO is now a professional Python package, installable via PyPI ([`pip install scao`](https://pypi.org/project/scao/)).
3444

35-
**Result:** SCAO is now a **single file** a true drop-in replacement. Running natively on Windows with no cloud setup, the loss dropped from **4.536 → 3.307 in under 4 minutes**. The model learned real-world context: *"The secret to a good software architecture is its openness."*
45+
**Result:** SCAO has moved from a research script to a production-ready package. It's a true drop-in replacement for AdamW. Running natively on Windows with no cloud setup, the loss dropped from **4.536 → 3.307 in under 4 minutes**. The model learned real-world context: *"The secret to a good software architecture is its openness."*
3646

3747
---
3848

3949
## Table of Contents
4050

51+
- [🚀 Support the Research](#-support-the-research)
4152
1. [The Problem](#1-the-problem)
4253
2. [SCAO's Solution](#2-scaos-solution)
4354
3. [Algorithm](#3-algorithm)
@@ -643,7 +654,6 @@ scao/ # Core library
643654
└── setup.py # nvcc build (sm_70/75/80/86/89/90)
644655
645656
examples/ # Self-contained runnable examples
646-
├── scao.py # Standalone single-file SCAO (no library install needed)
647657
├── train_local.py # Fine-tune GPT-2 125M with SCAO + LoRA (<8 GB VRAM)
648658
├── train_1m.py # Full fine-tuning throughput benchmark on TinyStories-1M
649659
└── inference.py # Load LoRA checkpoint and generate text

examples/scao.py

Lines changed: 0 additions & 95 deletions
This file was deleted.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ all = [
6666
[tool.setuptools.packages.find]
6767
where = ["."]
6868
include = ["scao*"]
69-
exclude = ["scao/tests*", "scao/benchmarks*", "scao/cuda*"]
69+
exclude = ["scao/tests*", "scao/benchmarks*"]
7070

7171
[tool.setuptools.package-data]
7272
scao = ["py.typed"]

setup.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
from setuptools import setup, find_packages
2+
3+
setup(
4+
name="scao",
5+
version="0.1.1",
6+
packages=find_packages(),
7+
install_requires=[
8+
"torch>=2.0.0",
9+
],
10+
extras_require={
11+
"dev": [
12+
"pytest>=7.0",
13+
"pytest-cov",
14+
"mypy>=1.5",
15+
"ruff>=0.1",
16+
"build",
17+
"twine",
18+
],
19+
"cuda": [
20+
"torch>=2.0.0",
21+
],
22+
"hf": [
23+
"transformers>=4.30.0",
24+
"datasets>=2.0.0",
25+
],
26+
"all": [
27+
"transformers>=4.30.0",
28+
"datasets>=2.0.0",
29+
"mypy>=1.5",
30+
"ruff>=0.1",
31+
],
32+
},
33+
author="SCAO Authors",
34+
description="Sparse Curvature-Aware Adaptive Optimizer — second-order training at near-AdamW cost",
35+
long_description=open("README.md", encoding="utf-8").read(),
36+
long_description_content_type="text/markdown",
37+
url="https://github.com/whispering3/scao",
38+
classifiers=[
39+
"Development Status :: 4 - Beta",
40+
"Intended Audience :: Science/Research",
41+
"Operating System :: OS Independent",
42+
"Programming Language :: Python :: 3",
43+
"Programming Language :: Python :: 3.10",
44+
"Programming Language :: Python :: 3.11",
45+
"Programming Language :: Python :: 3.12",
46+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
47+
"Topic :: Software Development :: Libraries :: Python Modules",
48+
],
49+
python_requires=">=3.10",
50+
)

0 commit comments

Comments
 (0)