Add a test package and docs for the "C/C++ lib with optional Python bindings" use case

Ouverte
#744 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
45/100
Type d'issue
Documentation
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
c, cpp, python

Piste de recherche

Commencez par la discussion de la pull request liée et par la structure du projet décrite dans l’issue, puis examinez les packages de test existants et la documentation à la recherche de cas d’utilisation associés. Ajoutez un package de test couvrant une bibliothèque C/C++ avec des bindings Python dans un sous-répertoire, ainsi que des indications sur la structure et la gestion de sdist. Le travail est considéré comme terminé lorsque les tests du package construisent et lient la bibliothèque de niveau supérieur et que le workflow documenté est clair.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

documentation tests

This follows up on the discussion at https://github.com/mesonbuild/meson-python/pull/728#discussion_r2069077299. The use case is multi-language projects, like the Arrow projects, where the root of the repo contains a core C/C++ library and bindings for Python (and perhaps other languages) are present in sub-directories. This is a fairly common layout:

meson.build
src/
    <some_c_sources>
    meson.build
python/
    <some_python_sources>
    pyproject.toml
    meson.build

The challenge here is to get the top-level library built and linked against. The idea in the linked discussion is to add:

python/
    dist_script.py  # replaces symlink with a copy for sdist generation
    subprojects/
        <symlink with content `../..`>

We've seen other people struggle with this puzzle when trying to adopt meson-python, e.g. in https://github.com/mesonbuild/meson-python/discussions/674. It would be good to have a test package for this project structure, and a bit of documentation to point out how this can be handled.

Langage dominant
Python
Étoiles
182
Forks
97
Merge moyen
4 h 52 min
PR mergées (30 j)
2

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de mesonbuild/meson-python

Toutes les issues de mesonbuild/meson-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.