Name: verhawk
Owner: Space Telescope Science Institute
Description: A simple Python package version scanner.
Created: 2016-08-08 19:47:47.0
Updated: 2018-05-01 14:26:26.0
Pushed: 2018-05-01 14:26:25.0
Size: 11
Language: Python
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
A simple Python package version scanner.
A complex Python package version scanner. Verhawk does not account for every edge case, nor does it provide advanced filtering of any kind. For example, depending how modules are nested for each sub-package you may even encounter output such as "package.thing=module <module '/path/to/module/module.py'>"
, and it breaks JSON. In which case, use --exclude
to remove the offending module from the output stream, or pipe verhawk
through grep
and filter such results, then convert the keypairs (module=version
) manually.
These are known issues and unlikely to be addressed.
e: verhawk [-h] [-V] [-e EXCLUDE] [-v] [-j] [-p] [-r] parent_package
tional arguments:
rent_package
onal arguments:
, --help show this help message and exit
, --version Display version information
EXCLUDE, --exclude EXCLUDE
Ignore sub-[package|module] by name.
, --verbose Show packages without version data.
, --json Emit JSON to stdout
, --packages-only Ignore non-packages (i.e modules)
, --recursive Descend into package looking for additional version
data.
rhawk drizzlepac
zlepac=2.1.5
rhawk -r drizzlepac
rtError(drizzlepac.mdriz): cannot import name 'AstroDrizzle'
zlepac=2.1.5
zlepac.ablot=2.1.5
zlepac.adrizzle=2.1.5
zlepac.astrodrizzle=2.1.5
zlepac.buildwcs=0.1.0
zlepac.createMedian=2.1.5
zlepac.drizCR=2.1.5
zlepac.imageObject=2.1.5
zlepac.imagefindpars=2.1.5
zlepac.linearfit=0.4.0
zlepac.mapreg=0.1
zlepac.minmed=2.1.5
zlepac.photeq=0.2
zlepac.pixreplace=0.1
zlepac.pixtopix=0.1
zlepac.pixtosky=0.1
zlepac.quickDeriv=2.1.5
zlepac.refimagefindpars=2.1.5
zlepac.regfilter=0.1
zlepac.resetbits=1.0.0
zlepac.runastrodriz=1.5.2
zlepac.sky=2.1.5
zlepac.skytopix=0.1
zlepac.tweakback=0.4.0
zlepac.tweakreg=1.4.3
zlepac.updatehdr=0.2.0
zlepac.updatenpol=1.1.0
zlepac.util=2.1.5
zlepac.version=2.1.5
izzlepac does not use sub-packages interally, as you can see.
ly the top-level is returned.
rhawk -r -p drizzlepac
zlepac=2.1.5
rbose mode returns sub-packages and/or modules regardless if it defines '__version__'
rhawk -r -v drizzlepac
rtError(drizzlepac.mdriz): cannot import name 'AstroDrizzle'
zlepac=2.1.5
zlepac.ablot=2.1.5
zlepac.acsData=None
zlepac.adrizzle=2.1.5
zlepac.astrodrizzle=2.1.5
zlepac.buildmask=None
zlepac.buildwcs=0.1.0
zlepac.catalogs=None
zlepac.cdriz=None
zlepac.createMedian=2.1.5
zlepac.drizCR=2.1.5
zlepac.findobj=None
zlepac.imageObject=2.1.5
zlepac.imagefindpars=2.1.5
zlepac.imgclasses=None
zlepac.irData=None
zlepac.linearfit=0.4.0
zlepac.mapreg=0.1
zlepac.mdzhandler=None
zlepac.minmed=2.1.5
zlepac.nicmosData=None
zlepac.outputimage=None
zlepac.photeq=0.2
zlepac.pixreplace=0.1
zlepac.pixtopix=0.1
zlepac.pixtosky=0.1
zlepac.processInput=None
zlepac.quickDeriv=2.1.5
zlepac.refimagefindpars=2.1.5
zlepac.regfilter=0.1
zlepac.resetbits=1.0.0
zlepac.runastrodriz=1.5.2
zlepac.sky=2.1.5
zlepac.skytopix=0.1
zlepac.staticMask=None
zlepac.stisData=None
zlepac.tests=None
zlepac.tweakback=0.4.0
zlepac.tweakreg=1.4.3
zlepac.tweakutils=None
zlepac.updatehdr=0.2.0
zlepac.updatenpol=1.1.0
zlepac.util=2.1.5
zlepac.version=2.1.5
zlepac.wcs_functions=None
zlepac.wfc3Data=None
zlepac.wfpc2Data=None
e "ImportError" is written to stderr, so redirecting stdout will not be an issue.
rhawk -r -j -v drizzlepac
rtError(drizzlepac.mdriz): cannot import name 'AstroDrizzle'
izzlepac": "2.1.5", "drizzlepac.ablot": "2.1.5", "drizzlepac.acsData": null, "drizzlepac.adrizzle": "2.1.5", "drizzlepac.astrodrizzle": "2.1.5", "drizzlepac.buildmask": null, "drizzlepac.buildwcs": "0.1.0", "drizzlepac.catalogs": null, "drizzlepac.cdriz": null, "drizzlepac.createMedian": "2.1.5", "drizzlepac.drizCR": "2.1.5", "drizzlepac.findobj": null, "drizzlepac.imageObject": "2.1.5", "drizzlepac.imagefindpars": "2.1.5", "drizzlepac.imgclasses": null, "drizzlepac.irData": null, "drizzlepac.linearfit": "0.4.0", "drizzlepac.mapreg": "0.1", "drizzlepac.mdzhandler": null, "drizzlepac.minmed": "2.1.5", "drizzlepac.nicmosData": null, "drizzlepac.outputimage": null, "drizzlepac.photeq": "0.2", "drizzlepac.pixreplace": "0.1", "drizzlepac.pixtopix": "0.1", "drizzlepac.pixtosky": "0.1", "drizzlepac.processInput": null, "drizzlepac.quickDeriv": "2.1.5", "drizzlepac.refimagefindpars": "2.1.5", "drizzlepac.regfilter": "0.1", "drizzlepac.resetbits": "1.0.0", "drizzlepac.runastrodriz": "1.5.2", "drizzlepac.sky": "2.1.5", "drizzlepac.skytopix": "0.1", "drizzlepac.staticMask": null, "drizzlepac.stisData": null, "drizzlepac.tests": null, "drizzlepac.tweakback": "0.4.0", "drizzlepac.tweakreg": "1.4.3", "drizzlepac.tweakutils": null, "drizzlepac.updatehdr": "0.2.0", "drizzlepac.updatenpol": "1.1.0", "drizzlepac.util": "2.1.5", "drizzlepac.version": "2.1.5", "drizzlepac.wcs_functions": null, "drizzlepac.wfc3Data": null, "drizzlepac.wfpc2Data": null}
nfirming stderr claim
rhawk -r -j -v drizzlepac > drizzle.json
rtError(drizzlepac.mdriz): cannot import name 'AstroDrizzle'
t drizzle.json
izzlepac": "2.1.5", "drizzlepac.ablot": "2.1.5", "drizzlepac.acsData": null, "drizzlepac.adrizzle": "2.1.5", "drizzlepac.astrodrizzle": "2.1.5", "drizzlepac.buildmask": null, "drizzlepac.buildwcs": "0.1.0", "drizzlepac.catalogs": null, "drizzlepac.cdriz": null, "drizzlepac.createMedian": "2.1.5", "drizzlepac.drizCR": "2.1.5", "drizzlepac.findobj": null, "drizzlepac.imageObject": "2.1.5", "drizzlepac.imagefindpars": "2.1.5", "drizzlepac.imgclasses": null, "drizzlepac.irData": null, "drizzlepac.linearfit": "0.4.0", "drizzlepac.mapreg": "0.1", "drizzlepac.mdzhandler": null, "drizzlepac.minmed": "2.1.5", "drizzlepac.nicmosData": null, "drizzlepac.outputimage": null, "drizzlepac.photeq": "0.2", "drizzlepac.pixreplace": "0.1", "drizzlepac.pixtopix": "0.1", "drizzlepac.pixtosky": "0.1", "drizzlepac.processInput": null, "drizzlepac.quickDeriv": "2.1.5", "drizzlepac.refimagefindpars": "2.1.5", "drizzlepac.regfilter": "0.1", "drizzlepac.resetbits": "1.0.0", "drizzlepac.runastrodriz": "1.5.2", "drizzlepac.sky": "2.1.5", "drizzlepac.skytopix": "0.1", "drizzlepac.staticMask": null, "drizzlepac.stisData": null, "drizzlepac.tests": null, "drizzlepac.tweakback": "0.4.0", "drizzlepac.tweakreg": "1.4.3", "drizzlepac.tweakutils": null, "drizzlepac.updatehdr": "0.2.0", "drizzlepac.updatenpol": "1.1.0", "drizzlepac.util": "2.1.5", "drizzlepac.version": "2.1.5", "drizzlepac.wcs_functions": null, "drizzlepac.wfc3Data": null, "drizzlepac.wfpc2Data": null}
rt json
open('drizzle.json') as infile:
data = json.load(infile)
module, version in sorted(data.items()):
print('{0:.<30s}: {1}'.format(module, version))
zlepac....................: 2.1.5
zlepac.ablot..............: 2.1.5
zlepac.acsData............: None
zlepac.adrizzle...........: 2.1.5
zlepac.astrodrizzle.......: 2.1.5
zlepac.buildmask..........: None
zlepac.buildwcs...........: 0.1.0
zlepac.catalogs...........: None
zlepac.cdriz..............: None
zlepac.createMedian.......: 2.1.5
zlepac.drizCR.............: 2.1.5
zlepac.findobj............: None
zlepac.imageObject........: 2.1.5
zlepac.imagefindpars......: 2.1.5
zlepac.imgclasses.........: None
zlepac.irData.............: None
zlepac.linearfit..........: 0.4.0
zlepac.mapreg.............: 0.1
zlepac.mdzhandler.........: None
zlepac.minmed.............: 2.1.5
zlepac.nicmosData.........: None
zlepac.outputimage........: None
zlepac.photeq.............: 0.2
zlepac.pixreplace.........: 0.1
zlepac.pixtopix...........: 0.1
zlepac.pixtosky...........: 0.1
zlepac.processInput.......: None
zlepac.quickDeriv.........: 2.1.5
zlepac.refimagefindpars...: 2.1.5
zlepac.regfilter..........: 0.1
zlepac.resetbits..........: 1.0.0
zlepac.runastrodriz.......: 1.5.2
zlepac.sky................: 2.1.5
zlepac.skytopix...........: 0.1
zlepac.staticMask.........: None
zlepac.stisData...........: None
zlepac.tests..............: None
zlepac.tweakback..........: 0.4.0
zlepac.tweakreg...........: 1.4.3
zlepac.tweakutils.........: None
zlepac.updatehdr..........: 0.2.0
zlepac.updatenpol.........: 1.1.0
zlepac.util...............: 2.1.5
zlepac.version............: 2.1.5
zlepac.wcs_functions......: None
zlepac.wfc3Data...........: None
zlepac.wfpc2Data..........: None