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#
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
Użytkownicy powinni utworzyć żądanie ściągnięcia używając szablonu «Package index request»
Minimum trzech użytkowników społeczności Fortran-lang rozpatrzy wniosek pod względem powyższych kryteriów
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 bibliotekiinterfaces
: 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ówio
: biblioteki analizujące i generujące różne formaty plikówgraphics
: mapowanie i graficzne interfejsy użytkownikanumerical
: 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 dziedzinyexamples
: 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:
Upewnij się, że pakiet spełnia minimalne kryteria wymienione wyżej w tym dokumencie
Sprawdź metadane pakietu
Repozytorium istnieje i jest dostępne
Opis jasno i zwięźle opisuje pakiet
Przypisana kategoria jest odpowiednia
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