| 
1 | 1 | # Getting started  | 
2 | 2 | 
 
  | 
3 |  | -If you've never made a Python package before,  | 
4 |  | -[packaging.python.org's tutorial](https://packaging.python.org/en/latest/tutorials/packaging-projects/)  | 
5 |  | -is a great place to start. It walks you through creating a simple package in  | 
6 |  | -pure Python using modern tooling and configuration. Another great resource is  | 
7 |  | -the  | 
8 |  | -[Scientific Python Developer Guide](https://learn.scientific-python.org/development).  | 
 | 3 | +If you've never made a Python package before, [packaging.python.org's  | 
 | 4 | +tutorial][] is a great place to start. It walks you through creating a simple package  | 
 | 5 | +in pure Python using modern tooling and configuration. Another great resource is  | 
 | 6 | +the [Scientific Python Developer Guide][]. And a tutorial can be found at  | 
 | 7 | +[INTERSECT Training: Packaging][].  | 
 | 8 | + | 
 | 9 | +## Quick start  | 
 | 10 | + | 
 | 11 | +There are several mechanisms to quickly get started with a package:  | 
 | 12 | + | 
 | 13 | +- [uv][] has built-in support for scikit-build-core. Just make a directory for  | 
 | 14 | +  your package and run: `uv init --lib --build-backend=scikit`.  | 
 | 15 | +- [scientific-python/cookie][] has a cookiecutter/copier template for making a  | 
 | 16 | +  package with all the suggestions in the [Scientific Python Developer Guide][].  | 
 | 17 | +- For pybind11, there's a example template at [pybind11/scikit_build_example][].  | 
 | 18 | +  For nanobind, [nanobind example][] includes the Stable ABI on Python 3.12+!  | 
 | 19 | +- There are several examples including scikit-build-core examples (including  | 
 | 20 | +  free-threading) at [scikit-build-sample-projects][].  | 
9 | 21 | 
 
  | 
10 | 22 | ## Writing an extension  | 
11 | 23 | 
 
  | 
@@ -410,15 +422,13 @@ $ pip install .  | 
410 | 422 | 
 
  | 
411 | 423 | That's it for a basic package!  | 
412 | 424 | 
 
  | 
413 |  | -## Other examples  | 
414 |  | - | 
415 |  | -You can find other examples here:  | 
416 |  | - | 
417 |  | -- [pybind11's scikit_build_core example](https://github.com/pybind/scikit_build_example):  | 
418 |  | -  An example project using pybind11.  | 
419 |  | -- [nanobind example](https://github.com/wjakob/nanobind_example): An example  | 
420 |  | -  project using nanobind and the Stable ABI on Python 3.12+!  | 
421 |  | -- [scikit-build-example-projects](https://github.com/scikit-build/scikit-build-sample-projects):  | 
422 |  | -  Some example projects for both scikit-build and scikit-build-core.  | 
423 |  | -- [Scientific-Python Cookie](https://github.com/scientific-python/cookie): A  | 
424 |  | -  cookiecutter with 12 backends, including scikit-build-core.  | 
 | 425 | +<!-- prettier-ignore-start -->  | 
 | 426 | +[scientific python developer guide]: https://github.com/scikit-build/scikit-build-sample-projects  | 
 | 427 | +[scikit-build-sample-projects]:      https://github.com/scikit-build/scikit-build-sample-projects  | 
 | 428 | +[uv]:                                https://docs.astral.sh/uv/  | 
 | 429 | +[scientific-python/cookie]:          https://github.com/scientific-python/cookie  | 
 | 430 | +[pybind11/scikit_build_example]:     https://github.com/pybind/scikit_build_example  | 
 | 431 | +[INTERSECT Training: Packaging]:     https://intersect-training.org/packaging  | 
 | 432 | +[packaging.python.org's tutorial]:   https://packaging.python.org/en/latest/tutorials/packaging-projects  | 
 | 433 | +[nanobind example]:                  https://github.com/wjakob/nanobind_example  | 
 | 434 | +<!-- prettier-ignore-end -->  | 
0 commit comments