|
1 | | -## Under development |
2 | | -We're still building this section of the guide, so stay tuned (or help!) |
| 1 | +# Getting Started! |
3 | 2 |
|
| 3 | +First of all: thank you! |
4 | 4 |
|
| 5 | +Contributions can be made in different ways, not only code! As we follow |
| 6 | +the |
| 7 | +[all-contributors](https://github.com/all-contributors/all-contributors) |
| 8 | +specification, any contribution will be recognised accordingly. |
| 9 | + |
| 10 | +Follow these steps to get started: |
| 11 | + |
| 12 | +1. Have a look at our [code of conduct](/community/CODE_OF_CONDUCT). |
| 13 | +2. Make sure that you have a GitHub account. You can set up a [free |
| 14 | + GitHub account](https://github.com/); here are some |
| 15 | + [instructions](https://help.github.com/articles/signing-up-for-a-new-github-account). |
| 16 | +3. If you intend to contribute code and/or use the `physiopy` packages |
| 17 | + in any way, check that you have `git` and `pip` installed on your |
| 18 | + system. Then install the package as a developer. This will let you |
| 19 | + run the program with the latest modifications, without requiring to |
| 20 | + re-install it every time. |
| 21 | + |
| 22 | +### Note |
| 23 | +The following instructions are provided assuming that python 3 is |
| 24 | +**not** your default version of python. If it is, you might need to use |
| 25 | +`pip` instead of `pip3`, although some OSs do adopt `pip3` anyway. If |
| 26 | +you want to check, type `python --version` in a terminal. |
| 27 | + |
| 28 | + |
| 29 | +Linux, Mac, and Windows developer installation |
| 30 | +---------------------------------------------- |
| 31 | + |
| 32 | +Be sure to have `git` and `pip` installed. Fork the phys2bids repository |
| 33 | +in GitHub, then open a terminal and run the following code to clone the |
| 34 | +forked repository and set it as your \`origin\`: |
| 35 | + |
| 36 | + git clone https://github.com/{username}/{physiopy-package}.git |
| 37 | + # or in case you prefer to use ssh: |
| 38 | + git clone [email protected]:{username}/{physiopy-package}.git |
| 39 | + |
| 40 | +We also recommend to set up the physiopy/{physiopy-package} repository as |
| 41 | +*upstream*. In this way you can always keep your main branch |
| 42 | +up to date with the command *git pull upstream master*: |
| 43 | + |
| 44 | + cd {physiopy-package} |
| 45 | + git remote add upstream https://github.com/physiopy/{physiopy-package}.git |
| 46 | + git pull upstream master |
| 47 | + |
| 48 | +### Basic installation |
| 49 | + |
| 50 | +If you use python frequently, or you are a python developer, chances are |
| 51 | +that all the necessary dependencies are already installed in your |
| 52 | +system. |
| 53 | + |
| 54 | +Go to a physiopy package directory (e.g. the `phys2bids` folder) and execute the command: |
| 55 | + |
| 56 | + pip3 install -e . |
| 57 | + |
| 58 | +### Full developer installation |
| 59 | + |
| 60 | +If it's your first experience as a python developer, or you just want |
| 61 | +to be sure that you have everything you need to collaborate with us, you |
| 62 | +can install `phys2bids` with all the other packages that we frequently |
| 63 | +use during development in one step! |
| 64 | + |
| 65 | +Go to a physiopy package directory (e.g. the `phys2bids` folder) and execute the command: |
| 66 | + |
| 67 | + pip3 install -e .[all] |
| 68 | + |
| 69 | +This will install: |
| 70 | + |
| 71 | +> - `phys2bids` as an editable package, which means that you can |
| 72 | +> modify the program and run it without having to reinstall it every |
| 73 | +> time! |
| 74 | +> - All `phys2bids` dependencies. |
| 75 | +> - All **interface** modules, that deal with the interfaces for all |
| 76 | +> the file formats. |
| 77 | +> - All **style** modules, such as `flake8`, to help you linter the |
| 78 | +> code! |
| 79 | +> - All **documentation** modules, like `sphinx`, so that you can |
| 80 | +> build the docs locally before submitting them. |
| 81 | +> - All **test** modules, like `pytest`, in order for you to test your |
| 82 | +> code locally before committing it! |
| 83 | +
|
| 84 | +### Check your installation! |
| 85 | + |
| 86 | +Type the commands: |
| 87 | + |
| 88 | + cd phys2bids/tests |
| 89 | + pytest |
| 90 | + |
| 91 | +This will execute the tests locally and check that your phys2bids |
| 92 | +installation works properly. |
| 93 | + |
| 94 | + pytest |
| 95 | + =================================== test session starts =================================== |
| 96 | + platform win32 -- Python 3.8.6, pytest-6.1.1, py-1.9.0, pluggy-0.13.1 |
| 97 | + rootdir: C:\Users\sento\phys2bids, configfile: setup.cfg |
| 98 | + plugins: cov-2.10.1 |
| 99 | + collected 61 items |
| 100 | + |
| 101 | + test_acq.py . [ 1%] |
| 102 | + test_bids.py ................ [ 27%] |
| 103 | + test_integration.py ... [ 32%] |
| 104 | + test_phys2bids.py ... [ 37%] |
| 105 | + test_physio_obj.py ....... [ 49%] |
| 106 | + test_txt.py .................. [ 78%] |
| 107 | + test_utils.py ........... [ 96%] |
| 108 | + test_viz.py .x [100%] |
| 109 | + |
| 110 | + ================================= short test summary info ================================= |
| 111 | + XFAIL test_viz.py::test_plot_trigger |
| 112 | + ======================== 60 passed, 1 xfailed in 142.58s (0:02:22) ======================== |
| 113 | + |
| 114 | +Do **not** worry if there is a xfail error in the log. This happens when |
| 115 | +we know that a test will fail for known reasons, and we are probably |
| 116 | +working to fix it (see |
| 117 | +[here](https://docs.pytest.org/en/latest/skipping.html#xfail-mark-test-functions-as-expected-to-fail). |
| 118 | +However, if you do encounter any other error, check that you have all |
| 119 | +the extra dependencies installed and their version meets `phys2bids` |
| 120 | +requirements. |
0 commit comments