Skip to content

Commit 8e6e394

Browse files
committed
docs: quick start in getting started
Signed-off-by: Henry Schreiner <[email protected]>
1 parent 4f5e1a0 commit 8e6e394

File tree

1 file changed

+28
-18
lines changed

1 file changed

+28
-18
lines changed

docs/getting_started.md

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,23 @@
11
# Getting started
22

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][].
921

1022
## Writing an extension
1123

@@ -410,15 +422,13 @@ $ pip install .
410422

411423
That's it for a basic package!
412424

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

Comments
 (0)