-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Dev: Spyder Internals
This section aims to give an introduction into Spyder internals.
Note: This is a work in progress!
The following tree represents the current structure of Spyder master repo. The branches here represent only folders, more specifics and explanations will be given below.
📂 spyder-ide/spyder.git
├── app_example
├── doc
├── external-py2
├── external-py3
├── img_src
├── rope_profiling
├── scripts
├── spyderlib ··························· Main library
│ ├── defaults ······················ TODO:
│ ├── images ······················· TODO:
│ ├── locale ························· Translations
│ ├── plugins ······················· TODO:
│ ├── qt ······························· PySide/PyQt wrapper
│ ├── utils ···························· TODO:
│ ├── widgets ······················ TODO:
│ │ ├── externalshell ······· TODO:
│ │ └── sourcecode ········· Code editor widget, Syntax highlighting
│ └── windows ···················· TODO:
└── spyderplugins ·················· TODO:
TODO:
As the name suggests this is the folder where the documentation of the project resides.
The documentation is written in reStructuredText (.rst) and is parsed using Sphinx.
The documentation is hosted in Python Hosted.
Spyder makes use of external python libraries, such as pyflakes, rope, pep8 and a modified version of the conda_api. When Spyder runs from a Python 2 interpreter, the external-py2
folder is added to the PATH
.
The modules saved here must be compatible with Python 2.
Spyder makes use of external python libraries, such as pyflakes, rope, pep8 and a modified version of the conda_api. When Spyder runs from a Python 3 interpreter, the external-py3
folder is added to the PATH
.
The modules saved here must be compatible with Python 3.
Note: Even if the same module works with both Python 2 and Python 3, it must be copied inside both external-py2
and external-py3
folders.
This folder holds the editable and rendered versions of images and art for the Spyder project.
Included files: Official icons, main logo, and some screenshots.
TODO:
TODO:
This is the actual main module of Spyder.
The name spyderlib
is due to the existence of another project named "spyder."
The translations of the interface for Spyder are stored in this folder. Currently Spyder has translations available for Spanish (es) and French (fr).
If you would like to have Spyder translated to a new language please drop us a line on the public chat.
TODO:
Spyder is and will remain compatible with the available Qt bindings, PyQt, and PySide.
This folder contains the modules that detect the available binding and wrap the necessary classes inside a single code base so that instead of using import PySide.QtCore
or import PyQt4.QtCore
we can use import spyderlib.qt.QtCore
.
TODO:
TODO:
TODO:
TODO:
Connect with Spyder through our social media channels and stay up to date with current developments!