Skip to main content
Logo FletchScore

Python Licence Tests PyPI

FletchScore

Application open source d'enregistrement des scores de compétitions de tir à l'arc (FFTL / IFAA), tous formats (Indoor, Flint, Field, Hunter, Animal...). Projet frère de FletchTime (chronométrage), né d'un usage de club (Les Aigles 77 / Archers Libres de Fontaine le Port).

Ce que ça fait

  • Enregistrement des scores par compétiteur, volée par volée
  • Classements et podiums automatiques par catégorie (sexe, âge, style)
  • Export Excel / PDF / CSV
  • Vue compétiteur web (QR code) pour proposer un score, soumis à validation de l'organisateur, y compris pour un tiers (procuration)

Voir le cahier des charges complet pour le détail.

Installation

Trois façons d'installer FletchScore, selon ta situation :

1. pip install fletchscore -- PC, ou Pydroid 3 (Android)

Version stable (PyPI), une fois une première Release publiée :

pip install fletchscore
fletchscore

Dernière version de développement (TestPyPI), publiée à chaque push sur main/master -- utile pour tester une correction pas encore sortie en version stable. TestPyPI est un index séparé et quasiment vide : sans --extra-index-url, pip y cherche aussi les dépendances (fpdf2, openpyxl, customtkinter) et échoue à les trouver. La commande suivante cherche fletchscore sur TestPyPI et bascule sur le vrai PyPI pour tout le reste :

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ fletchscore
fletchscore

2. Exécutable autoporteur (Windows / Linux) -- PC dédié, sans Python

Chaque Release GitHub contient un exécutable prêt à l'emploi (dossier --onedir, pas d'installation de Python nécessaire) : télécharge l'archive correspondant à ton système (FletchScore-<version>-windows.zip ou FletchScore-<version>-linux.tar.gz), décompresse-la, lance fletchscore (ou fletchscore.exe sous Windows) depuis le dossier extrait.

Chaque Release inclut aussi FletchScore-<version>-docs.tar.gz : la documentation technique (Sphinx) telle qu'elle était pour ce tag précis -- contrairement à la version publiée sur GitHub Pages (toujours celle de main), utile pour consulter la doc correspondant exactement à une version installée. Décompresse et ouvre index.html.

Le wheel et le sdist (fletchscore-<version>-py3-none-any.whl, fletchscore-<version>.tar.gz) sont eux aussi joints à chaque Release -- permet d'installer le paquet directement depuis GitHub sans dépendre de PyPI.

3. Depuis les sources -- pour contribuer, y compris sur Pydroid 3

git clone https://github.com/MrFanghoDev/fletchscore.git
cd fletchscore
pip install -e ".[dev]"
fletchscore

Voir CONTRIBUTING.md pour le détail complet du workflow sur Pydroid 3 (GitSync, Terminal).

Contribuer

Envie de proposer un correctif, une idée, ou juste signaler un bug ? Voir CONTRIBUTING.md (français/anglais) -- processus volontairement simple, flux classique fork/branche/Pull Request.

Merci aux membres du club qui ont testé l'outil et proposé des idées au fil du développement -- voir REMERCIEMENTS.md.

Une faille de sécurité à signaler ? Voir SECURITY.md -- pas d'Issue publique pour ça.

Qualité continue

Chaque push et pull request déclenche .github/workflows/test.yml : formatage/lint (Black + Ruff -- corrigés et recommités automatiquement sur un push direct, juste vérifiés sur une pull request) puis la suite de tests complète.

En local :

pip install -e ".[dev]"
black src tests
ruff check --fix src tests
python -m unittest discover -s tests -v   # ou : python run_tests.py

Publication (pour les mainteneurs)

Trois workflows GitHub Actions couvrent toute la chaîne, organisés par type de production plutôt que par outil : test.yml (lint + tests), docs.yml (doc Sphinx : construction, publication GitHub Pages, archivage sur Release), build.yml (paquet Python + exécutables PyInstaller).

  • TestPyPI (essai avant publication réelle) : publication automatique via .github/workflows/build.yml (job publish-testpypi) à chaque push sur main/master qui touche au code. La version est dérivée automatiquement du tag git le plus proche par setuptools_scm (voir pyproject.toml) : sur un commit qui n'est pas exactement un tag, elle inclut le nombre de commits depuis ce tag (ex. 0.3.1.dev4), donc jamais de conflit de version sur TestPyPI, sans bricolage manuel. Configuration ponctuelle sur test.pypi.org/manage/account/publishing -- compte séparé de pypi.org, à créer indépendamment sur test.pypi.org. Le champ "Workflow name" doit être build.yml.
  • PyPI (pip install fletchscore) : publication automatique via .github/workflows/build.yml (job publish-pypi, Trusted Publishing OIDC, sans jeton API) à chaque Release GitHub. Configuration ponctuelle nécessaire sur pypi.org/manage/account/publishing -- le champ "Workflow name" doit être build.yml. À faire une fois que les essais sur TestPyPI sont concluants : contrairement à TestPyPI, un numéro de version publié sur PyPI ne peut plus jamais être réutilisé ni supprimé.
  • Exécutables : voir section 2 ci-dessus.

Documentation

Documentation technique (Sphinx) : specs (cahier des charges), guide utilisateur, guide développeur, référence de l'API Python générée depuis le code. En local :

pip install -e ".[docs]"      # ou : pip install -r docs/requirements.txt
sphinx-build -b html docs docs/_build/html

Ouvrir ensuite docs/_build/html/index.html dans un navigateur.

Elle est aussi publiée automatiquement sur GitHub Pages à chaque tag (voir .github/workflows/docs.yml). Configuration à faire une seule fois sur GitHub : Settings → Pages → Source : "GitHub Actions".

État du projet

v0.1, v0.2 et v0.3 complètes -- 502 tests, tous verts. Voir docs/roadmap.md pour le détail du plan de développement par version.

Licence

GPL-3.0-or-later

Release files for fletchscore 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fletchscore 0.4.1
File Size Uploaded
fletchscore-0.4.1.tar.gz 1.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for fletchscore 0.4.1
File Interpreter ABI Platform
fletchscore-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / fletchscore-0.4.1.tar.gz

Download URL fletchscore-0.4.1.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
49436571a32f9c76991df39cc0ac208a261e667b5c284c3d69eb33f2238a256d
BLAKE2b-256 checksum
How to use checksums
924f127b7799b90e53b4d0f3b6bac9c036b7500866097073b623246f454f3c56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / fletchscore-0.4.1-py3-none-any.whl

Download URL fletchscore-0.4.1-py3-none-any.whl
Size 193.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1fc2de8987408a1c7d68c592f869485dd96a2051b4782b2dabf711a20d7a695f
BLAKE2b-256 checksum
How to use checksums
5565749e145cfb211c8db8ecfb98caf1e5de8042157c4e94f8e173e9f729f8e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page