AnswerDotAI / AnswerDotAI/nbdev-index

Use `pyproject.toml` for PEP 517 / PEP 518 metadata

Open Beginner friendly
#40 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
25
Forks
7
PR merge metrics
No merged PRs in 30d

Description

Currently this project [uses a common `setup.py`](https://github.com/AnswerDotAI/nbdev-index/blob/master/setup.py) for each of its packages.

Please consider migrating to the standardardised `pyproject.toml`, as installing by running `./setup.py` has been deprecated for several years.

The minimum required is generating a `pyproject.toml` file that contains the below:

```toml
[build-system]
requires = ["setuptools>=42"]
build-backend = "setuptools.build_meta"
```

This is all that's required to move to standardised build metadata, away from the legacy `setup.py` approach.

----

You could also consider using standard project metadata, via the `[metadata]` table, and a different build backend, such as `flit-core`, which is smaller and a little faster. See e.g. https://flit.pypa.io/en/stable/pyproject_toml.html#new-style-metadata.

A

Contributor guide

No contributing guide indexed for this repository

Research direction

Inspect the existing setup.py and package layout to determine where the shared packaging configuration applies. Add the requested pyproject.toml build-system metadata, then verify that package installation works without invoking setup.py.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Refactor
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.