PyBombSquad

From GNU Radio
Jump to navigation Jump to search

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