Komponenty zewnętrzne Python IDE Extended

Python IDE wykorzystuje Pyodide 314.0.7 z interpreterem CPython 3.14.2 oraz składnikami Emscripten 5.0.3. Poniższy wykaz dotyczy składników dostarczanych z aplikacją. Katalog dostępnych pakietów Pyodide nie oznacza, że aplikacja dostarcza wszystkie wymienione w nim biblioteki.

KomponentWersja lub źródło wersjiLicencja i autorzy lub uprawnieni
Pyodide314.0.7MPL-2.0; autorzy Pyodide
Metadane pyodide-lock.jsonWydanie recipes 314-20260911 wskazane w Pyodide 314.0.7MPL-2.0 repozytorium Pyodide-recipes; autorzy metadanych/receptur
CPython3.14.2, z poprawkami PyodidePełny zestaw warunków Python/PSF/CNRI/BeOpen/CWI i odrębnych not; PSF i współautorzy
Hiwire6a1e67280a15d929ebeceee54a6358c9c8d5f697MPL-2.0; autorzy Hiwire
Emscripten5.0.3 z poprawkami PyodideMIT / NCSA; autorzy Emscripten
StackFrame / error-stack-parserWersja vendored w Pyodide 314.0.7; brak osobnego numeru npm w źródłachMIT; Eric Wendelin i współautorzy
MiniLZ4Wersja vendored w Emscripten 5.0.3MIT; Pierre Curto i współautorzy
libffif08493d249d2067c8b3207ba46693dd858f95db3MIT; Anthony Green, Red Hat i inni
liblzmaXZ 5.2.2Dedykacja public domain dla liblzma; warunki innych części XZ są odrębne
SQLite3.39.0Dedykacja public domain; autorzy SQLite
Zstandard1.5.7, źródła CPython-source-deps użyte w recepturze PyodideBSD-3-Clause jako dostępna opcja; Meta i współautorzy
zlib1.3.1 według portu Emscripten 5.0.3zlib; Jean-loup Gailly i Mark Adler
bzip21.0.6Oryginalne warunki bzip2; Julian R Seward
Expat2.7.3 według nagłówka CPython 3.14.2MIT; Thai Open Source Software Center, Clark Cooper i opiekunowie Expat
libmpdec2.5.1 według mpdecimal.hBSD-2-Clause; Stefan Krah
mimalloc CPython2.1.2 według MI_MALLOC_VERSION=212MIT; Microsoft Research, Daan Leijen i inni
HACL*Vendored w CPython 3.14.2; refresh.sh wskazuje 8ba599b2f6c9701b3dc961db895b0856a2210f76MIT w kodzie HACL*; pomocnicze nagłówki wskazują Apache 2.0 i MIT; INRIA, CMU, Microsoft oraz współautorzy
libc/musl i kod matematycznyWersja vendored w Emscripten 5.0.3MIT oraz wyjątki wymienione w pełnym COPYRIGHT; Rich Felker i inni
compiler-rt, libc++, libc++abiWersje vendored w Emscripten 5.0.3Oryginalne teksty LLVM i warianty/wyjątki zawarte w poszczególnych plikach
profile.py, pstats.pyPliki dostarczonej biblioteki CPython 3.14.2Apache-2.0; Disney Enterprises i inni wskazani autorzy
tomllibWersja w CPython 3.14.2MIT; Taneli Hukkinen
Fragmenty asyncio pochodzące z uvloopWersja w CPython 3.14.2Nagłówki: PSF-2.0 AND (MIT OR Apache-2.0); MagicStack i inni
Wiązania Zstandard pochodzące z pyzstdWersja w CPython 3.14.2BSD-3-Clause; Ma Lin i współautorzy
Pozostałe materiały biblioteki standardowejDokładna wersja dostarczana w ZIPWarunki Python i indywidualne noty, m.in. Michael Hudson-Doyle, Fredrik Lundh/Secret Labs, R Oudkerk, Vinay Sajip i CNRI
Wbudowane moduły testowe CPython3.14.2Warunki CPython; autorzy CPython

Autorskie części Python IDE podlegają QuestLab Software License 1.0. Licencje komponentów zewnętrznych zachowują własne warunki.

Edytor CodeMirror 6

Pakiety dołączone do edytora tego wydania:

KomponentWersjaLicencja i autorzy
@codemirror/autocomplete6.20.4MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@codemirror/commands6.11.1MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@codemirror/lang-python6.2.1MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@codemirror/language6.13.1MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@codemirror/state6.7.6MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@codemirror/streamparser6.0.0MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@codemirror/view6.43.15MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@lezer/common1.5.4MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@lezer/highlight1.2.5MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@lezer/lr1.4.11MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@lezer/python1.1.19MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
@marijn/find-cluster-break1.0.4MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
crelt1.0.7MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
style-mod4.1.4MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu
w3c-keyname2.2.8MIT; Marijn Haverbeke i autorzy wskazani w licencji pakietu

Pełne licencje MIT edytora i informacje o autorach. Należy je zachować przy dystrybucji tych komponentów. MIT nie nakazuje udostępniania źródeł autorskich części IDE.

Oryginalne teksty licencji

Źródła i modyfikacje

Źródła i modyfikacje komponentów zewnętrznych

Kod Pyodide i Hiwire objęty MPL-2.0, wraz z odpowiednimi modyfikacjami, jest udostępniany na warunkach Mozilla Public License 2.0. Odrębne noty i licencje pozostałych składników zachowują moc.

Pobieranie źródeł

Archiwum obejmuje źródła upstream z ich licencjami, zmienione czytelne pliki TypeScript i poprawkę, oryginalne wejścia JavaScript oraz odpowiadające im zmodyfikowane części loadera. Zawiera też źródła pomocniczego modułu obsługi błędów JSPI i jego plik Wasm. Oryginalne źródła upstream mogą zawierać własne narzędzia i testy; nie są one odrębnymi funkcjami aplikacji.

Modyfikacje Pyodide

Zmiany przygotowane dla Python IDE przez Mariusza Smółkę dotyczą ładowania interpretera:

Sześć dokładnych transformacji (w tym dwie osobne zmiany eksportów) znajduje się w transformations.json. Czytelna postać zmian jest dostępna jako poprawka TypeScript. Kod interpretera Wasm i archiwum biblioteki standardowej nie zostały przez te zmiany zmodyfikowane.

Korzystanie ze źródeł

Po rozpakowaniu archiwum zmienione pliki TypeScript znajdują się w sources/loader-changes/readable-reference/, a oryginalne źródła w dołączonym archiwum upstream. Pliki *.modified-factory-body.txt zawierają wynikowe części funkcji, nie samodzielne moduły.

Polecenie node sources/loader-changes/rebuild-vendor.cjs odtwarza sześć transformacji z oryginalnych wejść i porównuje wyniki z dołączonymi plikami. Sumy źródeł i wyników identyfikują te materiały. Stałe wydania i moduł pomocniczy opisują powiązane wejścia loadera.

Materiały do pobrania

Licencje, notices i źródła