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
Last synced: 10 months ago · JSON representation ·

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
Created over 4 years ago · Last pushed over 3 years ago
Metadata Files
Readme License Citation

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

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

docker/Dockerfile docker
  • cern/cc7-base latest build
requirements.txt pypi
  • 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
setup.py pypi