PyBombSquad
CGRAN Relaunch with PyBOMBS integration Task Force (PyBomb Squad)
CGRAN needs a relaunch. Here's a list of things we need to do:
The CGRAN Website
- Auto-generated from the list of available OOTs in PyBOMBS
- Ideally, a cronjobbed script will create a static website (i.e. no web app)
- Nathan made a mock-up: http://nathanwest.us/ (see source: https://github.com/n-west/grist)
- List of OOTs includes:
- Name
- Description
- Source repository
- Archive repository (see below)
- Activity index
- Required GNU Radio version - A range of versions and a latest tested version
- Search/Sort/Filter Capabilities - gr_modtool has parsing capabilities that can be exploited?
- Clicking an OOT gives more info:
- A longer description
- Maintainer
- List of blocks
- Possibly live on the GNURadio website
The Archive
Part of CGRAN is a back-up archive of all OOTs listed in PyBOMBS. This can also be used to more easily scrape information from the OOTs.
Ideas:
- Ideally through github
- Add another user (CGRAN) to github and copy all the repos into there - fork all repos to organization/user cgran
- For non-git repos figure out a way to pull the data into a git repo
- Maybe have another repo that includes all the archived modules as submodules - to allow checkout all as once
- All repos on github!
Changes to OOTs
OOTs get a manifest file in the root directory which provides info:
- Description
- Short name (other than gr-foo)
- Icon image file
- Tags
- Name of maintainer(s)
- Minimum GR Version required
- GR category (current pybombs has category label not useful for cgran)
- Maintainer email address
- Date submitted
- Dependencies
- Tag names
- Git version numbers/branches
Two routes:
- Automatically generate the recipe from the manifest if written well?
- Add intelligence to pybombs to keep the metadata (used for organization on cgran) seperate from the recipe (used for compilation)
- If there isn't a working pybombs recipe then it doesnt show up on cgran
- If its on cgran then it needs to be maintained and working (not a historical archive or where grad student projects go to die)
- JSON lightest weight wrap around text that we can parse
- Author writes original recipe, we have to modify recipes to make them work
- Rather have working repo/recipes in the cgran organization so that we can maintain incase author is MIA
These manifest files can be scraped to create the CGRAN website. The current pybombs uses a category to allow forks with custom recipes. A pybombs scraper needs to know which recipes are GNU Radio related, especially when they don't fit the gr-pattern (examples: sdrangelove, gqrx, gnss-sdr).
Changes to PyBOMBS
- Maybe the archiving operation can be part of PyBOMBS
- Split out recipes into separate repos to make it easier to add recipes (ie not split)
- Have options to get specific branch and specific git commits
- Should be able to automatically make a repo on github
- Cannot tell gnuradio vs non-gnuradio stuff
- Intelligence to create the manifest/recipe then can create site
- Chris write manifest files
- Nathan integrate grist onto gnuradio website
- Ravi, Alfredo, George, Neel volunteers to help with grist (Nathan is head)
- Find people who are good at designing web
- For inspiration layers.openembedded.org
- Python Pelican