GithubHelp home page GithubHelp logo

qpc-github / jours-feries-france Goto Github PK

View Code? Open in Web Editor NEW

This project forked from etalab/jours-feries-france

1.0 2.0 1.0 31 KB

Librarie Python pour calculer les jours fériés en France

Home Page: https://pypi.org/project/jours-feries-france/

License: MIT License

Python 100.00%

jours-feries-france's Introduction

Software License CircleCI PyPI - Downloads

Jours fériés France

Cette librairie calcule les jours fériés en France. Vous pouvez découvrir plus de détails sur les jours fériés français sur service-public.fr.

Cette librairie fonctionne à partir de la version 2.7 de Python.

Installation

pip install jours-feries-france

Usage

import datetime

from jours_feries_france import JoursFeries

# Obtenir les jours fériés pour une année, pour la métropole
res = JoursFeries.for_year(2018)
# res est un dictionnaire
# {
#     '1er janvier': datetime.date(2018, 1, 1),
#     'Lundi de Pâques': datetime.date(2018, 4, 2),
#     '1er mai': datetime.date(2018, 5, 1),
#     '8 mai': datetime.date(2018, 5, 8),
#     'Ascension': datetime.date(2018, 5, 10),
#     'Lundi de Pentecôte': datetime.date(2018, 5, 21),
#     '14 juillet': datetime.date(2018, 7, 14),
#     'Assomption': datetime.date(2018, 8, 15),
#     'Toussaint': datetime.date(2018, 11, 1),
#     '11 novembre': datetime.date(2018, 11, 11),
#     'Jour de Noël': datetime.date(2018, 12, 25)
# }

# Vous pouvez aussi obtenir certains jours fériés en tant que datetime.date
print (JoursFeries.lundi_paques(2018))
print (JoursFeries.ascension(2018))
print (JoursFeries.lundi_pentecote(2018))

# Obtenir les jours fériés pour une zone spécifique
res = JoursFeries.for_year(2018, zone="Alsace-Moselle")

# Quelques fonctions d'aide
JoursFeries.is_bank_holiday(datetime.date(2019, 12, 25), zone="Métropole")
# -> True
JoursFeries.next_bank_holiday(datetime.date(2019, 12, 24), zone="Métropole")
# -> ('Noël', datetime.date(2019, 12, 25))

Zones disponibles

Les zones suivantes sont disponibles :

  • Métropole (par défaut)
  • Alsace-Moselle
  • Guadeloupe
  • Guyane
  • La Réunion
  • Martinique
  • Mayotte
  • Nouvelle-Calédonie
  • Polynésie Française
  • Saint-Barthélémy
  • Saint-Martin
  • Saint-Pierre-et-Miquelon
  • Wallis-et-Futuna

Ces zones sont disponibles dans une constante :

from jours_feries_france import JoursFeries

print(JoursFeries.ZONES)
# [
#     'Métropole', 'Alsace-Moselle', 'Guadeloupe',
#     'Guyane', 'Martinique', 'Mayotte', 'Nouvelle-Calédonie',
#     'La Réunion', 'Polynésie Française', 'Saint-Barthélémy',
#     'Saint-Martin', 'Wallis-et-Futuna', 'Saint-Pierre-et-Miquelon'
# ]

Noms des jours fériés

Les noms des jours fériés sont fixés d'après le code du travail.

Pour les zones Métropole (par défaut), Nouvelle-Calédonie, Polynésie Française, Saint-Pierre-et-Miquelon et Wallis-et-Futuna, les jours fériés sont orthographiés de la façon suivante :

  • 1er janvier
  • Lundi de Pâques
  • 1er mai
  • 8 mai
  • Ascension
  • Lundi de Pentecôte
  • 14 juillet
  • Assomption
  • Toussaint
  • 11 novembre
  • Jour de Noël

Pour la zone Alsace-Moselle, il existe 2 jours fériés supplémentaires, orthographiés de la façon suivante :

  • 2ème jour de Noël
  • Vendredi saint

Pour les zones Guadeloupe, Guyane, La Réunion, Martinique, Mayotte, Saint-Barthélémy et Saint-Martin, il existe un jour férié supplémentaire, orthographié de la façon suivante :

  • Abolition de l'esclavage

Noms des méthodes Python

Vous pouvez calculer chaque jour férié individuellement à l'aide d'une méthode spécifique.

from jours_feries_france import JoursFeries

year = 2020
zone = 'Métropole'

print("1er janvier", JoursFeries.premier_janvier(year))
print("1er mai", JoursFeries.premier_mai(year))
print("8 mai", JoursFeries.huit_mai(year))
print("14 juillet", JoursFeries.quatorze_juillet(year))
print("Assomption", JoursFeries.assomption(year))
print("Toussaint", JoursFeries.toussaint(year))
print("11 novembre", JoursFeries.onze_novembre(year))
print("Jour de Noël", JoursFeries.jour_noel(year))
print("Lundi de Pâques", JoursFeries.lundi_paques(year))
print("Ascension", JoursFeries.ascension(year))
print("Lundi de Pentecôte", JoursFeries.lundi_pentecote(year))
print("Vendredi saint", JoursFeries.vendredi_saint(year, zone))
print("2ème jour de Noël", JoursFeries.deuxieme_jour_noel(year, zone))
print("Abolition de l'esclavage", JoursFeries.abolition_esclavage(year, zone))

Certaines méthodes acceptent une zone en paramètre car ce jour férié est spécifique à certaines zones. Si ce jour férié n'est pas férié pour la zone passée en argument, vous aurez la valeur None en retour au lieu d'une date.

Données

Si vous souhaitez simplement un export, consultez le jeu de données "Jours fériés en France" sur data.gouv.fr.

Sources

La liste des jours fériés est définie dans le code du travail.

Certaines commémorations locales ou professionnelles sont également des jours fériés, parmi lesquelles :

  • Saint-Éloi (reconnu jour férié par certaines conventions collectives dans la métallurgie) ;
  • Sainte-Barbe (pour les salariés travaillant dans les mines) ;
  • Mi-carême dans certains DOM.

Ces fêtes locales ou professionnelles ne sont pas disponibles dans cette librairie.

jours-feries-france's People

Contributors

antoineaugusti avatar teddybear06 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.