Instruction snippets for getting started contributing to nxt and its sub-components.
-
Install git. (Git - Downloads)
-
If you don't already have an IDE we suggest installing one of the following:
-
Clone the nxt repository:
- Find link on GitHub main page 'Clone'
- From PyCharm
- Paste the link in Pycharm VCS > Git > Clone
- From git command line (git bash if you're on Windows)
git clone <clone link>
The nxt environment is specified via nxt_env.yml
to be used by a conda environment.
Conda is best installed via miniconda. We reccomend not adding conda python to your system path and not making it your system python.
-
Windows
- Launch the Anaconda Prompt and install dependencies:
conda env create -f PATH_TO_NXT_CLONE/nxt/nxt_env.yml
- Launch the Anaconda Prompt and install dependencies:
-
Linux/Mac
- From the terminal run:
conda env create -f PATH_TO_NXT_CLONE/nxt/nxt_env.yml
- From the terminal run:
-
Setting IDE interpeter
-
PyCharm:
- If haven't done so already, open the nxt clone as a project.
- Go to Settings > Project: nxt > Python Interpeter
- Click the gear icon > Add
- Select Conda Environment > Exsisting Environment
- Make sure the Interpeter path points to the Python interpeter executable in your newly created conda
nxt
env. - Click OK and then Apply
-
vscode:
- Run the command
Python: Select Interpreter
- Select the python that was created as part of your miniconda environment.
- Run the command
-
-
PyCharm:
-
Run > Edit Configurations...
-
Add New Configuration (
+
Icon at the top left) > Python -
Change the drop down
Srcript Path
toModule name
-
In the
Module name:
field enternxt.cli
, it should autocomplete for you. -
In the
Parameters:
field enterui
, this tells the cli to open the visual application. -
Make sure the
Python interpeter:
is correctly set to the conda env you setup in the setup steps.
-
-
vscode
-
Add a launch configuration.
-
A template launch config:
{ "name": "nxt", "type": "python", "request": "launch", "module": "nxt.cli", "args": ["ui"], "console": "integratedTerminal", "cwd": "${workspaceFolder}", "justMyCode": true }
-
- Python 2.7
- Qt.py
- PySide2 5.6
We follow a special syntax in our commits in order to indicate messages that should be included in our automatically generated changelog(see /GenerateChangelog
in build/ReleaseBot.nxt
). We have 5 different levels of messages indicated by starting a line with an indicator string, followed by a space, and then your message. The 5 indicator strings are:
!
+
-
*
...
Listed below are examples. Because the line following the message is formatted into markdown, markdown syntax can be used within the commit message to improve rendering in the changelog.
! Something critical was changed
+ I added something
- removed some things
* Something was changed
... this is an unimportant note