Spis pakietów Fortran-lang.org#

Kryteria pakietu#

Wymagane jest spełnienie następujących wymagań, aby pakiety zostały zaindeksowane:

  • Związek z tematem: pakiet musi być przede wszystkim zaimplementowany w języku Fortran lub zapewniać kompletny interfejs Fortran dla istniejącego pakietu lub być przeznaczony wyłącznie do tworzenia oprogramowania w języku Fortran.

  • Kompletność: podstawowa funkcjonalność pakietu powinna być zaimplementowana. Żadne pakiety prototypowe, testowe lub częściowo kompletne nie będą akceptowane. Jeśli pakiet jest hostowany na githubie lub podobnym serwisie, powinien mieć co najmniej 5 „gwiazdek”.

  • Dostępność: źródło pakietu powinno być dostępne za darmo do przeglądania online, klonowania oraz pobierania

  • Open source: pakiet powinien być objęty odpowiednią licencją open-source, a plik z nią powinien być wyraźnie dołączony do kodu źródłowego

  • Wyjątkowość: pakiet nie może być rozwidleniem ani drobną korektą istniejących pakietów

  • README: pakiet powinien zawierać jakąś formę pliku README lub strony, która przejrzyście określa przeznaczenie i funkcjonalność pakietu. Powinien on także zawierać informacje na temat zależności pakietu i kroki wymagane do uruchomienia go.

Następujące wymagania nie są konieczne, lecz spełnienie ich jest zalecane:

  • Dokumentacja: dowolna forma pisemnej dokumentacji pakietu przeznaczona dla jego użytkowników. Powinna ona obejmować:

    • Wspierane / przetestowane kompilatory

    • Zależności

    • Proces budowania i instalacji

    • Moduły zawarte w pakiecie

    • Udostępnione procedury i ich interfejsy

    • Przykładowy kod

  • Kontrybucje: szczegóły dotyczące sposobu, w jaki użytkownicy mogą zgłaszać problemy i przyczyniać się do rozwoju pakietu

  • Testy: dowolna forma testów, których można użyć do sprawdzenia funkcjonalności pakietu

  • Przenaszalność: brak niestandardowych rozszerzeń językowych i zastrzeżonych zależności

  • FPM: obsługa instalacji przez Menedżera pakietów Fortran fpm

Proces dodawania pakietów#

  1. Użytkownicy pownni potwierdzić, że ich projekty spełniają wszystkie wymagania do umieszczenia w indeksie pakietów Fortran-lang zgodnie z tym jak napisano w tym dokumencie

  2. Użytkownicy powinni utworzyć żądanie ściągnięcia używając szablonu «Package index request»

  3. Minimum trzech użytkowników społeczności Fortran-lang rozpatrzy wniosek pod względem powyższych kryteriów

  4. Jeśli trzech lub więcej użytkowników społeczności Fortran-lang zgodzi się, aby pakiet został umieszczony na liście i nie ma żadnych poważnych sprzeciwów, żądanie ściągnięcia zostanie zaakceptowane i przyłączone

Żądanie zaindeksowania pakietu#

Żądania zaindeksowania pakietu są wysyłane za pomocą żądania ściągnięcia (pull request) do repozytorium fortran-lang.org. Zobacz ten poradnik, aby otrzymać pomoc w tworzeniu rozwidleń oraz żądań ściągnięcia.

Szczegóły pakietu wypisane są w pliku data/package_index.yml.

Aby dodać pakiet stwórz nowy wpis w tym pliku. Plik ten podzielony jest na kategorie wyższego stopnia, aby ułatwić nawigację; znajdź odpowiednią kategorię dla twojego pakietu i stwórz nowy wpis.

Po dodaniu nowego wpisu do indeksu pakietów, uruchom akcję GitHub fortran_packages przed wykonaniem kompilacji Sphinx.#

Pakiety hostowane na Githubie#

  - name: <Package_name>
    github: <github_user>/<repository_name>
    description: <single_line_description>
    categories: <category1> [category2]
    tags: [tag1] [tag2] [tag3]
    version: [version]
    license: [license]

Prawidłowe kategorie:

  • libraries: ogólne biblioteki

  • interfaces: biblioteki tworzące interfejsy dla innych bibliotek, oprogramowania lub urządzeń

  • programming: ogólne narzędzia programistyczne: błędy, logowanie, testowanie, dokumentacja itp.

  • data-types: biblioteki zapewniające zaawansowane typy danych: kontenery, datetime, tablice o zmiennym rozmiarze itp.

  • strings: biblioteki obsługujące ciągi znaków

  • io: biblioteki analizujące i generujące różne formaty plików

  • graphics: mapowanie i graficzne interfejsy użytkownika

  • numerical: macierze, algebra liniowa, urządzenia do rozwiązywania matematycznych problemów, liczenie pierwiastków, interpolacja, optymalizacja, równania różniczkowe, statystyka, uczenie maszynowe, liczby losowe itp.

  • scientific: biblioteki lub aplikacje specyficzne dla danej dziedziny

  • examples: repozytoria oferujące demonstracje funkcji języka, poradniki i porównawcze

Projekty chcące wpisać więcej niż jedną kategorię muszą zawrzeć dobre wyjaśnienie w żądaniu ściągnięcia

Uwagi:

  • Opis pakietu powinien w jednym zdaniu jasno wyjaśniać funkcjonalność pakietu.

  • Tagi (opcjonalnie) powinny zawierać wszystkie terminy, których użytkownicy mogą szukać, a które nie są jeszcze zawarte w nazwie lub opisie. Powinny one być oddzielone spacją.

  • Wersja pakietu

    • Można to ustalić automatycznie opublikowana wersja została stworzona na Githubie

    • Jeśli określono wersję, zastąpi ona każda inną wykrytą wersję GitHub

    • Jeśli wersja ma wartość «none» wówczas nie zostanie wyświetlona żadna informacja o wersji. (Użyj tego jeśli twój pakiet nie ma wersji.)

  • Licencja pakietu

    • Można to ustalić automatycznie jeśli GitHub jest w stanie wykryć znaną licencję

    • W przypadku, gdy GitHub nie jest w stanie wykryć żadnej znanej licencji, musi ona zostać określona

Pakiety hostowane poza Githubem#

  - name: <Package_name>
    url: <repo_url>
    description: <single_line_description>
    categories: <category1> [category2]
    tags: [tag1] [tag2] [tag3]
    version: [version]
    license: <license>

Uwagi:

  • Informacje o licencji i wersji nie mogą zostać automatycznie wykryte dla repozytoriów poza Githubem

  • Jeśli twój pakiet nie ma wersji, pomiń to pole

  • Licencja musi być określona dla repozytoriów spoza Githuba

Lista kontrolna recenzji członków społeczności#

Członkowie społeczności oceniający pakiety powinni uwzględnić następujące punkty:

  1. Upewnij się, że pakiet spełnia minimalne kryteria wymienione wyżej w tym dokumencie

  2. Sprawdź metadane pakietu

    • Repozytorium istnieje i jest dostępne

    • Opis jasno i zwięźle opisuje pakiet

    • Przypisana kategoria jest odpowiednia

  3. Sprawdź informacje o licencji

    • Jeśli pole licencji zostało ominięte: sprawdź czy GitHub wykrył licencję

    • Jeśli pole licencji jest uwzględnione: sprawdź czy pasuje do pliku licencji repozytorium

Po połączeniu:

  • Sprawdź czy pakiet jest widoczny w odpowiedniej kategorii i po wyszukaniu