diff --git a/Architecture.md b/Architecture.md index 624a6d4f..2734371b 100644 --- a/Architecture.md +++ b/Architecture.md @@ -29,7 +29,7 @@ To summarize, there are six main parts to the PyO3 codebase. 5. [Procedural macros to simplify usage for users.](#5-procedural-macros-to-simplify-usage-for-users) - [`src/derive_utils.rs`], [`pyo3-macros`] and [`pyo3-macros-backend`] 6. [`build.rs`](#6-buildrs) - - [`build.rs`](https://github.com/PyO3/pyo3/tree/master/build.rs) + - [`build.rs`](https://github.com/PyO3/pyo3/tree/main/build.rs) ## 1. Low-level bindings of Python/C API @@ -168,7 +168,7 @@ such as parsing function arguments. ## 6. `build.rs` -PyO3's [`build.rs`](https://github.com/PyO3/pyo3/tree/master/build.rs) is relatively long +PyO3's [`build.rs`](https://github.com/PyO3/pyo3/tree/main/build.rs) is relatively long (about 900 lines) to support multiple architectures, interpreters, and usages. Below is a non-exhaustive list of its functionality: @@ -192,25 +192,25 @@ Below is a non-exhaustive list of its functionality: -[`pyo3-macros`]: https://github.com/PyO3/pyo3/tree/master/pyo3-macros -[`pyo3-macros-backend`]: https://github.com/PyO3/pyo3/tree/master/pyo3-macros-backend +[`pyo3-macros`]: https://github.com/PyO3/pyo3/tree/main/pyo3-macros +[`pyo3-macros-backend`]: https://github.com/PyO3/pyo3/tree/main/pyo3-macros-backend -[`src/class`]: https://github.com/PyO3/pyo3/tree/master/src/class -[`src/ffi`]: https://github.com/PyO3/pyo3/tree/master/src/ffi -[`src/types`]: https://github.com/PyO3/pyo3/tree/master/src/types +[`src/class`]: https://github.com/PyO3/pyo3/tree/main/src/class +[`src/ffi`]: https://github.com/PyO3/pyo3/tree/main/src/ffi +[`src/types`]: https://github.com/PyO3/pyo3/tree/main/src/types -[`src/derive_utils.rs`]: https://github.com/PyO3/pyo3/tree/master/src/derive_utils.rs -[`src/instance.rs`]: https://github.com/PyO3/pyo3/tree/master/src/instance.rs -[`src/pycell.rs`]: https://github.com/PyO3/pyo3/tree/master/src/pycell.rs -[`src/pyclass.rs`]: https://github.com/PyO3/pyo3/tree/master/src/pyclass.rs -[`src/pyclass_init.rs`]: https://github.com/PyO3/pyo3/tree/master/src/pyclass_init.rs -[`src/pyclass_slot.rs`]: https://github.com/PyO3/pyo3/tree/master/src/pyclass_slot.rs -[`src/type_object.rs`]: https://github.com/PyO3/pyo3/tree/master/src/type_object.rs -[`src/class/methods.rs`]: https://github.com/PyO3/pyo3/tree/master/src/class/methods.rs -[`src/class/impl_.rs`]: https://github.com/PyO3/pyo3/tree/master/src/class/impl_.rs -[`src/types/any.rs`]: https://github.com/PyO3/pyo3/tree/master/src/types/any.rs -[`src/types/mod.rs`]: https://github.com/PyO3/pyo3/tree/master/src/types/mod.rs +[`src/derive_utils.rs`]: https://github.com/PyO3/pyo3/blob/main/src/derive_utils.rs +[`src/instance.rs`]: https://github.com/PyO3/pyo3/tree/main/src/instance.rs +[`src/pycell.rs`]: https://github.com/PyO3/pyo3/tree/main/src/pycell.rs +[`src/pyclass.rs`]: https://github.com/PyO3/pyo3/tree/main/src/pyclass.rs +[`src/pyclass_init.rs`]: https://github.com/PyO3/pyo3/tree/main/src/pyclass_init.rs +[`src/pyclass_slot.rs`]: https://github.com/PyO3/pyo3/tree/main/src/pyclass_slot.rs +[`src/type_object.rs`]: https://github.com/PyO3/pyo3/tree/main/src/type_object.rs +[`src/class/methods.rs`]: https://github.com/PyO3/pyo3/tree/main/src/class/methods.rs +[`src/class/impl_.rs`]: https://github.com/PyO3/pyo3/tree/main/src/class/impl_.rs +[`src/types/any.rs`]: https://github.com/PyO3/pyo3/tree/main/src/types/any.rs +[`src/types/mod.rs`]: https://github.com/PyO3/pyo3/tree/main/src/types/mod.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index b8ef99cc..d20ffccd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,8 @@ All notable changes to this project will be documented in this file. For help with updating to new PyO3 versions, please see the [migration guide](https://pyo3.rs/latest/migration.html). -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] @@ -823,7 +823,7 @@ Yanked - Merged both examples into one - Rustfmt all the things :heavy_check_mark: -- Switched to [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +- Switched to [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Removed diff --git a/Contributing.md b/Contributing.md index 329d570a..2d5c53b2 100644 --- a/Contributing.md +++ b/Contributing.md @@ -5,11 +5,11 @@ Thank you for your interest in contributing to PyO3! All are welcome - please co If you are searching for ideas how to contribute, proceed to the ["Getting started contributing"](#getting-started-contributing) section. If you have found a specific issue to contribute to and need information about the development process, you may find the section ["Writing pull requests"](#writing-pull-requests) helpful. If you want to become familiar with the codebase, see -[Architecture.md](https://github.com/PyO3/pyo3/tree/master/Architecture.md). +[Architecture.md](https://github.com/PyO3/pyo3/blob/main/Architecture.md). ## Getting started contributing -Please join in with any part of PyO3 which interests you. We use Github issues to record all bugs and ideas. Feel free to request an issue to be assigned to you if you want to work on it. +Please join in with any part of PyO3 which interests you. We use GitHub issues to record all bugs and ideas. Feel free to request an issue to be assigned to you if you want to work on it. The following sections also contain specific ideas on where to start contributing to PyO3. @@ -17,7 +17,7 @@ The following sections also contain specific ideas on where to start contributin The [PyO3 Gitter channel](https://gitter.im/PyO3/Lobby) is very active with users who are new to PyO3, and often completely new to Rust. Helping them debug is a great way to get experience with the PyO3 codebase. -Helping others often reveals bugs, documentation weaknesses, and missing APIs. It's a good idea to open Github issues for these immediately so the resolution can be designed and implemented! +Helping others often reveals bugs, documentation weaknesses, and missing APIs. It's a good idea to open GitHub issues for these immediately so the resolution can be designed and implemented! ### Implement issues ready for development @@ -63,7 +63,7 @@ Here are a few things to note when you are writing PRs. ### Continuous Integration -The PyO3 repo uses Github Actions. PRs are blocked from merging if CI is not successful. +The PyO3 repo uses GitHub Actions. PRs are blocked from merging if CI is not successful. Formatting, linting and tests are checked for all Rust and Python code. In addition, all warnings in Rust code are disallowed (using `RUSTFLAGS="-D warnings"`). @@ -101,8 +101,8 @@ Second, there is a Python-based benchmark contained in the `pyo3-benchmarks` exa ## Sponsor this project -At the moment there is no official organisation that accepts sponsorship on PyO3's behalf. If you're seeking to provide significant funding to the PyO3 ecosystem, please reach out to us on [Github](https://github.com/PyO3/pyo3/issues/new) or [Gitter](https://gitter.im/PyO3/Lobby) and we can discuss. +At the moment there is no official organisation that accepts sponsorship on PyO3's behalf. If you're seeking to provide significant funding to the PyO3 ecosystem, please reach out to us on [GitHub](https://github.com/PyO3/pyo3/issues/new) or [Gitter](https://gitter.im/PyO3/Lobby) and we can discuss. -In the meanwhile, some of our maintainers have personal Github sponsorship pages and would be grateful for your support: +In the meanwhile, some of our maintainers have personal GitHub sponsorship pages and would be grateful for your support: - [davidhewitt](https://github.com/sponsors/davidhewitt) diff --git a/README.md b/README.md index a6c69519..d431a209 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![dev chat](https://img.shields.io/gitter/room/nwjs/nw.js.svg)](https://gitter.im/PyO3/Lobby) [![contributing notes](https://img.shields.io/badge/contribute-on%20github-Green)](https://github.com/PyO3/pyo3/blob/main/Contributing.md) -[Rust](http://www.rust-lang.org/) bindings for [Python](https://www.python.org/), including tools for creating native Python extension modules. Running and interacting with Python code from a Rust binary is also supported. +[Rust](https://www.rust-lang.org/) bindings for [Python](https://www.python.org/), including tools for creating native Python extension modules. Running and interacting with Python code from a Rust binary is also supported. - User Guide: [stable](https://pyo3.rs) | [main](https://pyo3.rs/main) @@ -140,7 +140,7 @@ about this topic. - [maturin](https://github.com/PyO3/maturin) _Zero configuration build tool for Rust-made Python extensions_. - [setuptools-rust](https://github.com/PyO3/setuptools-rust) _Setuptools plugin for Rust support_. -- [pyo3-built](https://github.com/PyO3/pyo3-built) _Simple macro to expose metadata obtained with the [`built`](https://crates.io/crates/built) crate as a [`PyDict`](https://docs.rs/pyo3/0.12.0/pyo3/types/struct.PyDict.html)_ +- [pyo3-built](https://github.com/PyO3/pyo3-built) _Simple macro to expose metadata obtained with the [`built`](https://crates.io/crates/built) crate as a [`PyDict`](https://docs.rs/pyo3/*/pyo3/types/struct.PyDict.html)_ - [rust-numpy](https://github.com/PyO3/rust-numpy) _Rust binding of NumPy C-API_ - [dict-derive](https://github.com/gperinazzo/dict-derive) _Derive FromPyObject to automatically transform Python dicts into Rust structs_ - [pyo3-log](https://github.com/vorner/pyo3-log) _Bridge from Rust to Python logging_ @@ -153,16 +153,16 @@ about this topic. - [html-py-ever](https://github.com/PyO3/setuptools-rust/tree/main/examples/html-py-ever) _Using [html5ever](https://github.com/servo/html5ever) through [kuchiki](https://github.com/kuchiki-rs/kuchiki) to speed up html parsing and css-selecting._ - [point-process](https://github.com/ManifoldFR/point-process-rust/tree/master/pylib) _High level API for pointprocesses as a Python library_ - [autopy](https://github.com/autopilot-rs/autopy) _A simple, cross-platform GUI automation library for Python and Rust._ - - Contains an example of building wheels on TravisCI and appveyor using [cibuildwheel](https://github.com/joerick/cibuildwheel) + - Contains an example of building wheels on TravisCI and appveyor using [cibuildwheel](https://github.com/pypa/cibuildwheel) - [orjson](https://github.com/ijl/orjson) _Fast Python JSON library_ -- [inline-python](https://github.com/dronesforwork/inline-python) _Inline Python code directly in your Rust code_ +- [inline-python](https://github.com/fusion-engineering/inline-python) _Inline Python code directly in your Rust code_ - [Rogue-Gym](https://github.com/kngwyu/rogue-gym) _Customizable rogue-like game for AI experiments_ - Contains an example of building wheels on Azure Pipelines - [fastuuid](https://github.com/thedrow/fastuuid/) _Python bindings to Rust's UUID library_ - [wasmer-python](https://github.com/wasmerio/wasmer-python) _Python library to run WebAssembly binaries_ - [mocpy](https://github.com/cds-astro/mocpy) _Astronomical Python library offering data structures for describing any arbitrary coverage regions on the unit sphere_ - [tokenizers](https://github.com/huggingface/tokenizers/tree/master/bindings/python) _Python bindings to the Hugging Face tokenizers (NLP) written in Rust_ -- [pyre](https://github.com/Project-Dream-Weaver/Pyre) _Fast Python HTTP server written in Rust_ +- [pyre](https://github.com/Project-Dream-Weaver/pyre-http) _Fast Python HTTP server written in Rust_ - [jsonschema-rs](https://github.com/Stranger6667/jsonschema-rs/tree/master/bindings/python) _Fast JSON Schema validation library_ - [css-inline](https://github.com/Stranger6667/css-inline/tree/master/bindings/python) _CSS inlining for Python implemented in Rust_ - [cryptography](https://github.com/pyca/cryptography/tree/main/src/rust) _Python cryptography library with some functionality in Rust_ @@ -180,18 +180,18 @@ about this topic. Everyone is welcomed to contribute to PyO3! There are many ways to support the project, such as: -- help PyO3 users with issues on Github and Gitter +- help PyO3 users with issues on GitHub and Gitter - improve documentation - write features and bugfixes - publish blogs and examples of how to use PyO3 -Our [contributing notes](https://github.com/PyO3/pyo3/blob/main/Contributing.md) and [architecture guide](https://github.com/PyO3/pyo3/blob/master/Architecture.md) have more resources if you wish to volunteer time for PyO3 and are searching where to start. +Our [contributing notes](https://github.com/PyO3/pyo3/blob/main/Contributing.md) and [architecture guide](https://github.com/PyO3/pyo3/blob/main/Architecture.md) have more resources if you wish to volunteer time for PyO3 and are searching where to start. -If you don't have time to contribute yourself but still wish to support the project's future success, some of our maintainers have Github sponsorship pages: +If you don't have time to contribute yourself but still wish to support the project's future success, some of our maintainers have GitHub sponsorship pages: - [davidhewitt](https://github.com/sponsors/davidhewitt) ## License -PyO3 is licensed under the [Apache-2.0 license](http://opensource.org/licenses/APACHE-2.0). -Python is licensed under the [Python License](https://docs.python.org/2/license.html). +PyO3 is licensed under the [Apache-2.0 license](https://opensource.org/licenses/APACHE-2.0). +Python is licensed under the [Python License](https://docs.python.org/3/license.html). diff --git a/src/ffi/README.md b/src/ffi/README.md index db7dfc3d..f65ba028 100644 --- a/src/ffi/README.md +++ b/src/ffi/README.md @@ -1,15 +1,15 @@ rust python3 ffi ================ -[Rust](http://www.rust-lang.org/) FFI declarations for Python 3. +[Rust](https://www.rust-lang.org/) FFI declarations for Python 3. Supports the PEP 384 stable ABI for Python 3.4 or higher. --- -This [cargo -sys package](http://doc.crates.io/build-script.html#*-sys-packages) provides `python3` declarations. +This [cargo -sys package](https://doc.rust-lang.org/cargo/reference/build-scripts.html#-sys-packages) provides `python3` declarations. Licensed under the Python license (see `LICENSE`). For a safe high-level API, see [PyO3](https://github.com/PyO3/PyO3). -Documentation for the python API is available on [https://docs.python.org/3/c-api/]. +Documentation for the Python API is available on [https://docs.python.org/3/c-api/].