Spyder (oprogramowanie)

Z Wikipedii, wolnej encyklopedii
Spyder
Logo Spyder
Logo programu
Ilustracja
Zrzut ekranu środowiska programistycznego Spyder
Autor Spyder project contributors
Aktualna wersja stabilna 5.1.5 / 16 września 2021; ponad 2 lata temu[1]
Język programowania Python
System operacyjny Microsoft Windows, macOS, Linux
Rodzaj IDE
Licencja MIT
Strona internetowa

Spyder[2]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[3], SciPy[4], matplotlib[5], pandas[6], IPython[7], SymPy[8] oraz Cython[9], które również są dostępne na zasadach otwartego oprogramowania[10]. Spyder jest wydawany na otwartej licencji MIT[11].

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[12], zawiera wsparcie dla interaktywnych narzędzi do inspekcji danych oraz instrumenty introspekcyjne i zapewniające jakość kodu Pythona, takie jak: Pyflakes[13], Pylint[14] i Rope[15]. Spyder jest dostępny na różnych platformach systemowych: Windows, Linux, macOS, również poprzez środowiska Anaconda[16], MacPorts[17],

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[18] lub PySide[19][20]. 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[21].

Cechy[edytuj | edytuj kod]

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[22] w celu możliwości wykonywania programu krok po kroku.
  • Statyczna analiza kodu obsługiwana przez Pylint[14].
  • 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[23].
  • 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. Releases · spyder-ide/spyder · GitHub [online], github.com [dostęp 2021-11-23] (ang.).
  2. Strona domowa Spyder: https://www.spyder-ide.org/.
  3. NumPy – podstawowy pakiet dla obliczeń naukowych w języku Python. Strona domowa: http://www.numpy.org/.
  4. 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.
  5. Matplotlib – biblioteka języka Python zawierająca procedury i funkcje do kreślenia wykresów. Strona domowa: https://matplotlib.org/.
  6. Pandas – biblioteka języka Python przeznaczona do analizy danych. Strona domowa: https://pandas.pydata.org/index.html.
  7. IPython (ang. Interactive Python)- potężna, interakcyjna powłoka konsolowa dla języka Python. Strona domowa: http://ipython.org/.
  8. 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.
  9. Cython – język programowania ułatwiający pisanie rozszerzeń w języku C dla Pythona. Strona domowa: https://cython.org/.
  10. „Spyder review”. Tech World. 2010-09-08.
  11. Licencja MIT dla Spyder na GitHub: https://github.com/spyder-ide/spyder/blob/master/LICENSE.txt.
  12. „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.
  13. Pyflakes – analizator programów źródłowych w języku Python pod kątem błędów. Strona domowa: https://github.com/PyCQA/pyflakes.
  14. a b Pylint – narzędzie wyszukujące błędy w kodzie w języku Python. Strona domowa: https://www.pylint.org/.
  15. Rope – refaktoryzacyjna biblioteka języka Python. Strona domowa: https://github.com/python-rope/rope.
  16. 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/.
  17. MacPorts – projekt FLOSS upraszczający instalację innego otwartego oprogramowania na systemach OS X i Darwin,. Strona domowa: https://www.macports.org/.
  18. 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.
  19. PySide – nakładka na bibliotekę Qt. Strona domowa: https://wiki.qt.io/PySide.
  20. „Spyder runtime dependencies”.
  21. „QtPy: Abtraction layer for PySide/PyQt4/PyQt5”.
  22. IPdb – biblioteka dostarczające funkcje dostępowe do debuggera IPython. Strona domowa: https://github.com/gotcha/ipdb.
  23. PEP8 – standard stylu kodowania w języku Python:https://www.python.org/dev/peps/pep-0008/.