Spyder (oprogramowanie)

Spyder
Logo Spyder
Logo programu
Ilustracja
Zrzut ekranu środowiska programistycznego Spyder
Autor Spyder project contributors
Aktualna wersja stabilna 6.0.2
(31 października 2024) [±]
Język programowania Python
System operacyjny Microsoft Windows, macOS, Linux
Rodzaj IDE
Licencja MIT
Strona internetowa

Spyder[1]wieloplatformowe zintegrowane środowisko programistyczne (ang. IDE, Integrated Development Environment), udostępnione na zasadach otwartego oprogramowania (ang. open source) przeznaczone do programowania naukowego w języku Python. Środowisko Spydera również zostało napisane w języku Python. Spyder integruje w sobie wiele istotnych pakietów z naukowego zbioru pakietów Pythona, w tym: NumPy[2], SciPy[3], matplotlib[4], pandas[5], IPython[6], SymPy[7] oraz Cython[8], które również są dostępne na zasadach otwartego oprogramowania[9]. Spyder jest wydawany na otwartej licencji MIT[10].

Spyder został opracowany w 2009 r. przez Pierre’a Rybauta. Od roku 2012 jest utrzymywany i stale ulepszany przez zespół naukowców-programistów Pythona i społeczność.

Środowisko Spyder można rozszerzać poprzez wtyczki dostarczane przez twóców Spydera lub innych programistów[11], zawiera wsparcie dla interaktywnych narzędzi do inspekcji danych oraz instrumenty introspekcyjne i zapewniające jakość kodu Pythona, takie jak: Pyflakes[12], Pylint[13] i Rope[14]. Spyder jest dostępny na różnych platformach systemowych: Windows, Linux, macOS, również poprzez środowiska Anaconda[15], MacPorts[16],

Spyder wykorzystuje do swojego graficznego interfejsu użytkownika (ang. GUI, Graphical User Interface) bibliotekę Qt i jest zaprojektowany do korzystania z nakładek na tę bibliotekę: PyQt[17] lub PySide[18][19]. QtPy, cienka warstwa abstrakcji opracowana w ramach projektu Spyder, a później zaadaptowana przez wiele innych pakietów, zapewnia elastyczność korzystania z dowolnego backend-u[20].

Cechy charakterystyczne środowiska Spyder:

  • Edytor z podświetlaniem składni, introspekcją, uzupełnianiem kodu.
  • Obsługa wielu konsol IPython.
  • Możliwość przeglądania i edytowania zmiennych z poziomu graficznego interfejsu użytkownika.
  • Okienko pomocy, które może pobierać automatycznie lub na żądanie, teksty pomocy na temat funkcji, klas i metod.
  • Debugger połączony z IPdb[21] w celu możliwości wykonywania programu krok po kroku.
  • Statyczna analiza kodu obsługiwana przez Pylint[13].
  • Profiler działający w czasie rzeczywistym, służący do testowania wydajności kodu.
  • Wsparcie projektu, umożliwiające jednoczesną pracę nad wieloma pracami rozwojowymi.
  • Wbudowany eksplorator plików do interakcji z systemem plików i zarządzania projektami.
  • Funkcja „Znajdź w plikach”, umożliwiająca pełne wyszukiwanie za pomocą wyrażeń regularnych w wybranym zakresie.
  • Przeglądarka pomocy online, umożliwiająca użytkownikom wyszukiwanie i przeglądanie dokumentacji Pythona i pakietów wewnątrz środowiska Spydera.
  • Dziennik historii, rejestrujący każde polecenie użytkownika wprowadzone we wszystkich konsolach.
  • Konsola wewnętrzna, umożliwiająca introspekcję i sterowanie własnymi operacjami Spydera.

Wtyczki

[edytuj | edytuj kod]

Dostępne wtyczki:

  • Spyder-Unittest – integracja popularnych frameworków testowych Pytest, Unittest i Nose ze Spyderem.
  • Spyder-Notebook – umożliwia przeglądanie i edycję plików notatnika Jupyter wewnątrz środowiska Spydera.
  • Spyder-Reports – umożliwia użycie piśmiennych technik programistycznych w Pythonie.
  • Spyder-Terminal – dodaje możliwość otwierania, sterowania i zarządzania powłokami konsolowymi wielu systemów wewnątrz środowiska Spydera.
  • Spyder-Vim – zawiera komendy i skróty klawiszowe, które emulują edytor tekstowy Vim.
  • Spyder-AutoPEP8 – pozwala na automatyczne formatowanie kodu programu w stylu zgodnym ze standardem PEP8[22].
  • Spyder-Line-Profiler i Spyder-Memory-Profiler – rozszerzenie wbudowanej funkcjonalności profilowania, w tym testowania pojedynczych linii kodu i pomiaru wykorzystania pamięci.

Przypisy

[edytuj | edytuj kod]
  1. Strona domowa Spyder: https://www.spyder-ide.org/.
  2. NumPy – podstawowy pakiet dla obliczeń naukowych w języku Python. Strona domowa: http://www.numpy.org/.
  3. SciPy – podstawowa biblioteka obejmująca zestaw procedur i funkcji numerycznych z obszarów: interpolacji, całkowania, optymalizacji, algebry liniowej i statystyki. Strona domowa: https://www.scipy.org/scipylib/index.html.
  4. Matplotlib – biblioteka języka Python zawierająca procedury i funkcje do kreślenia wykresów. Strona domowa: https://matplotlib.org/.
  5. Pandas – biblioteka języka Python przeznaczona do analizy danych. Strona domowa: https://pandas.pydata.org/index.html.
  6. IPython (ang. Interactive Python)- potężna, interakcyjna powłoka konsolowa dla języka Python. Strona domowa: http://ipython.org/.
  7. SymPy – biblioteka języka Python obejmująca funkcje i procedury z zakresu matematyki i obliczeń symbolicznych. Strona domowa: https://www.sympy.org/en/index.html.
  8. Cython – język programowania ułatwiający pisanie rozszerzeń w języku C dla Pythona. Strona domowa: https://cython.org/.
  9. „Spyder review”. Tech World. 2010-09-08.
  10. Licencja MIT dla Spyder na GitHub: https://github.com/spyder-ide/spyder/blob/master/LICENSE.txt.
  11. SpyderPlugins – spyderlib – Plugin development – Spyder is the Scientific PYthon Development EnviRonment – Google Project Hosting. code.google.com. [zarchiwizowane z tego adresu (2013-10-24)]. code.google.com.
  12. Pyflakes – analizator programów źródłowych w języku Python pod kątem błędów. Strona domowa: https://github.com/PyCQA/pyflakes.
  13. a b Pylint – narzędzie wyszukujące błędy w kodzie w języku Python. Strona domowa: https://www.pylint.org/.
  14. Rope – refaktoryzacyjna biblioteka języka Python. Strona domowa: https://github.com/python-rope/rope.
  15. Anaconda – Dystrybucja i środowisko języka Python dedykowane dla naukowców tworzące spójny „ekosystem” zawierające niezbędne biblioteki i przydatne aplikacje (m.in. Spyder, glueviz, IPython, Orange Data Analytics, Visual Studio Editor, Jupyter Notebook). Strona domowa: https://www.anaconda.com/.
  16. MacPorts – projekt FLOSS upraszczający instalację innego otwartego oprogramowania na systemach OS X i Darwin,. Strona domowa: https://www.macports.org/.
  17. PyQt – nakładka na bibliotekę Qt umożliwiająca tworzenie interfejsu graficznego dla programów komputerowych pisanych w języku Python. Strona domowa: https://www.riverbankcomputing.com/software/pyqt/intro.
  18. PySide – nakładka na bibliotekę Qt. Strona domowa: https://wiki.qt.io/PySide.
  19. „Spyder runtime dependencies”.
  20. „QtPy: Abtraction layer for PySide/PyQt4/PyQt5”.
  21. IPdb – biblioteka dostarczające funkcje dostępowe do debuggera IPython. Strona domowa: https://github.com/gotcha/ipdb.
  22. PEP8 – standard stylu kodowania w języku Python:https://www.python.org/dev/peps/pep-0008/.