ElrahPy

package python regroupant des classes et fonctions utilitaires

View on GitHub

Documentation

Ce package contient plusieurs modules utiles pour divers calculs et manipulations de données. Voici un aperçu de leurs fonctionnalités.

Lien : Github

I- Module intkit

1. Sous Module math_primes

Le module math_primes contient des fonctions pour effectuer des opérations liées aux nombres premiers et aux diviseurs.

2. Sous Module math_utils

Le module math_utils contient des fonctions utilitaires mathématiques.

II- Module utils

1. Sous-module datekit

Le sous-module datekit contient des fonctions utiles pour les dates.

from elrahpy.utils.datekit import get_interval
from datetime import datetime
# Date du jour : 10/10/25
result_years = get_interval(start_date=datetime(2025,1,1), "year")
# Résultat : 0
result_months = get_interval(start_date=datetime(2025,1,1), "month")
# Résultat : 9
result_days = get_interval(start_date=datetime(2025,1,1), "day")
# Résultat : 282
result_days = get_interval(start_date=datetime(2025,1,1),end_date=datetime(2025,10,10))
# Résultat : (0,9,282)

2. Sous Module fileskit

Le sous-module fileskit contient des fonctions pour gérer les opérations sur les fichiers.

  from elrahpy.utils.fileskit import rewrite_content

  rewrite_content("source.txt", "destination.txt")  # Copie le contenu de source.txt à destination.txt
from elrahpy.utils.fileskit import reset_file
 reset_file("file.txt")  # Efface le contenu de file.txt
from elrahpy.utils.fileskit import replace_line
replace_line("file.txt", 1, "Nouvelle ligne 1")  # Remplace la 1ère ligne de file.txt par "Nouvelle ligne 1"
from elrahpy.utils.fileskit import insert_line
insert_line("file.txt", 2, "Ligne insérée")  # Insère "Ligne insérée" à la 2ème position de file.txt
from elrahpy.utils.fileskit import delete_line
delete_line("file.txt", 2)
# Suppression de la ligne à la 2ème position de file.txt
from elrahpy.utils.fileskit import delete_line_startswith
delete_line_startswith(file="file.txt",marker="@")
# Suppression des lignes de file.txt commençant par @

III- Module turtlekit

1. Sous-module geometric_shape

Le sous-module geometric_shape permet de dessiner des formes géométrique

from elrahpy.turtlekit.geometric_shape import figure

figure(
    nbr_figure=3,
    rayon=50,
    nbr_cote=4,
    position=[(0, 0), (100, 100), (200, 0)],
    couleur=["red", "blue", "green"],
    orientation=0
)
from elrahpy.turtlekit.geometric_shape import rectangle

rectangle(
    L=100,
    l=50,
    inside_color="yellow",
    line_color="black"
)

2. Sous-module particular_shape

Le sous-module particular_shape permet de dessiner des formes particulières

from elrahpy.turtlekit.particular_shape import heart

heart(
    inside_color="red",
    line_color="black",
    background_color="pink"
)

IV- Module strkit

1. Sous-Module charscraft

Le sous-module charscraft permet de faire des opérations spécifiques sur les chaines de caractère

   from elrahpy.strkit.charscraft import is_vowel
   is_vowel('a') # Renvoie True
   is_vowel('b') # Renvoie False
from elrahpy.strkit.charscraft  import count_vowels
count_vowels("exemple") # Renvoie 3
from elrahpy.strkit.charscraft import check_char_case
check_char_case('a') # Renvoie -1
check_char_case('A') # Renvoie 1
check_char_case('1') # Renvoie 0
from elrahpy.strkit.charscraft import generate_uuid_code
generate_uuid_code(prefix='MX',length=5) # retourne MX-F9
from elrahpy.strkit.charscraft import ispalindrome
ispalindrome("radar") # Renvoie True
ispalindrome("hello") # Renvoie False

2. Sous-Module sequencescraft

Le sous-module sequencescraft permet de faire des opérations spécifiques sur les chaines de caractère et sequences.

from elrahpy.strkit.sequencescraft import get_all_indexes
get_all_indexes("banana", "a") # Renvoie [1, 3, 5]
  from elrahpy.strkit.sequencescraft remove_all_occurrences
  remove_all_occurrences([1, 2, 3, 2, 4], 2) # Renvoie [1, 3, 4]
from elrahpy.strkit.sequencescraft import
    count_letters

count_letters("Sirops",sensitive=True)
# Retourne {"S": 1, "i": 1, "o": 1, "p": 1, "r": 1, "s": 1}

count_letters("Sirops",sensitive=False)
# Retourne {"i": 1, "o": 1, "p": 1, "r": 1, "s": 2}

from elrahpy.strkit.sequencescraft import separate_case
txt="Hello"
separate_case(txt=txt)
# retourne {
        "lowercase": {"e": 1, "l": 2, "o": 1},
        "uppercase": {"H": 1},
    }

V- Module cryptokit

Le sous-module cryptokit permet de faire des opérations spécifiques sur le codage par cryptographie.

1. Sous-Module cesar

Ce sous module contient des utilitaires pour la cryptographie avec la méthode cesar.Ils ne sont valides que les élements de string.printable.

from elrahpy.cryptokit.cesar import crypt_cesar
crypt_cesar("Bonjour", operation=1, k=3) # Encode le mot et renvoie Erqmrxu
crypt_cesar("Erqmrxu", operation=-1, k=3) # Decode le mot et renvoie Bonjour
from elrahpy.cryptokit.cesar import verify_cesar
verify_cesar(word="Bonjour",crypted_word="Erqmrxu",k=3)
# Renvoie True
from elrahpy.cryptokit.cesar import search_cesar
search_cesar("Erqmrxu")
# Renvoie toutes les possibilités de décodage ex : {'Erqmrxu': 0, 'Dqplqwt': 1, 'Cpokpvs': 2, 'Bonjour': 3,...}
from elrahpy.cryptokit.cesar import z_cesar
z_cesar("Erqmrxu Phz") # Renvoie un dictionnaire des possibilités de mots clairs pour chaque mot de la chaîne ex :{0: 'Erqmrxu Phz', 1: 'Dqplqwt Ogy', 2: 'Cpokpvs Nfx', 3: 'Bonjour Mew'....}

VI- Module typeskit

Ce module comporte des classes et types utilitaires .

1. Sous Module landmark

Ce sous module comporte les classes LandMark et Point

Point

LandMark :

ex :

my_land = LandMark()
my_land.add_point(Point(2,5),55)
my_land.list_marks()
my_land.set_point_value(Point(2,5),"mdr")
my_land.list_marks()
my_land.remove_point(Point(2,5))
my_land.list_marks()


new_land = LandMark(type_land_mark=int)
new_land.add_point(Point(1,2),2)
new_land.add_point(Point(2,3),3)
new_land.list_marks()
new_land.add_point(Point(1,2),"hi") # Provoque une erreur