Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: fscutti
- License: bsd-3-clause
- Language: Python
- Default Branch: master
- Size: 47.8 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
This is the new version of the pyrate offline software
Generally what you need beforehand is python3.8 and ROOT build with it.
Setting up pyrate
==================================
Dependencies
There are scripts in ./scripts/install_scripts/ that will install python3.8 and ROOT for you, assuming you are running a centos7 machine. If you are running Ubuntu you have to replace the yum stuff with apt but probably all the dependencies are already there. Note that ROOT has to be build with cmake>3.14.
On SPARTAN you will not need these scripts you can load an environment module that contains all you need.
module load root/6.22.02-python-3.8.2
module avail # see whats available
Setup pyrate itself
We use python virtual environments to isntall our python packages to not pollute your system python. You can get your system python stuff back with deactivate. And restart pyrates python with
source ./pyrate_venv/bin/activate && export PYRATE=<path to where you have your pyrate repo>
But before that you need to install pyrate at least once with:
source setup.sh
Alternatively you can run above also everytime you want to use pyrate (just might take a couple of seconds longer). It sets the $PYRATE variable which is important for pyrate to know is root directory (source makes sure this variable persists after running the script, so just doing ./setup.sh will result in crashes).
Testing
We use robot-framework for testing. All tests go to ./test and end with .robot. See the example in the folder.
Run all tests:
robot ./test # runs all tests in the directory ending with `.robot`
Please implement a test for every new feature you implement.
Advanced tests
You can squeeze in listeners before and after the tests as in this example using a memory profiler
robot --listener test/RoughMemoryProfile.py:./test/logs/ --outputdir ./test/logs/ ./test
Note: This is not the best way to profile memory and just for demonstration.
Some git basics
When you create new branches please use the prefixes feature and bugfix. The keyword release will later be used for relases.
Get updates from remote repo
git fetch
Checkout the master branch and pull latest changes
git checkout master && git pull
Make a new branch
git checkout -b feature/my-feature-name
Add some files you changed
git add <file name>
Commit the files (this is still happening locally)
git commit -m "Some meaningful message about what you did"
Now push to a new remote branch in te remote repository
git push --set-upstream origin feature/my-feature-name
It is important here that feature/my-feature-name is the same name as you created locally earlier. You could also do
git push --set-upstream origin feature/my-feature-name:origin/feature/different-name
if you want a different name on the remote repo. (Maybe you have a typo earlier but you can also rename locally with git branch -m new-name).
Then make a pull request. Go to "branches" and klick on "open pull request", select "master" as destination (should be default) you need to include at least Federico. Klick the litle box to delete the branch after it is merged.
Owner
- Login: fscutti
- Kind: user
- Location: Melbourne
- Company: Swinburne University of Technology
- Repositories: 1
- Profile: https://github.com/fscutti
Citation (CITATION.cff)
cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Scutti
given-names: Federico
orcid: https://orcid.org/0000-0001-7690-9083
title: fscutti/pyrate:
version: 0.1.0-alpha
date-released: 2022-27-01
GitHub Events
Total
Last Year
Dependencies
- cern/cc7-base latest build
- PyJWT ==1.7.1
- PyYAML ==5.3.1
- apio *
- appdirs ==1.4.4
- attrs ==20.2.0
- black ==20.8b1
- certifi ==2020.6.20
- chardet ==3.0.4
- click ==7.1.2
- colorama ==0.4.3
- cycler ==0.10.0
- distlib ==0.3.1
- file-read-backwards ==2.0.0
- filelock ==3.0.12
- flake8 ==3.8.3
- guppy3 ==3.1.0
- idna ==2.10
- intelhex ==2.2.1
- jsonmerge ==1.7.0
- jsonschema ==3.2.0
- kiwisolver ==1.2.0
- llvmlite ==0.33.0
- matplotlib ==3.2.1
- mccabe ==0.6.1
- memory-profiler ==0.58.0
- mypy-extensions ==0.4.3
- numba ==0.50.1
- numpy ==1.18.5
- packaging ==20.4
- pandas ==1.0.4
- pathspec ==0.8.0
- psutil ==5.7.3
- psycopg2-binary ==2.8.6
- py-spy ==0.3.3
- pyaml ==20.4.0
- pycodestyle ==2.6.0
- pyflakes ==2.2.0
- pyparsing ==2.4.7
- pyrsistent ==0.16.0
- pyserial ==3.4
- python-dateutil ==2.8.1
- pytz ==2020.1
- pyusb ==1.0.2
- regex ==2020.7.14
- requests ==2.24.0
- robotframework ==3.2.2
- ruamel.yaml ==0.16.10
- ruamel.yaml.clib ==0.2.0
- scipy ==1.4.1
- semantic-version ==2.8.5
- six ==1.15.0
- strictyaml ==1.0.6
- tinyprog ==1.0.21
- toml ==0.10.1
- tqdm ==4.46.1
- typed-ast ==1.4.1
- typing-extensions ==3.7.4.3
- urllib3 ==1.25.10
- virtualenv ==20.4.2