Miki Tebeka committed 904ba2b

snappy in extra_require and --codecs

Comments (0)

Files changed (2)


     parser = ArgumentParser(
         description='iter over avro file, emit records as JSON')
-    parser.add_argument('file', help='file(s) to parse', nargs='+')
+    parser.add_argument('file', help='file(s) to parse', nargs='*')
     parser.add_argument('--schema', help='dump schema instead of records',
                         action='store_true', default=False)
+    parser.add_argument('--codecs', help='print supported codecs',
+                        action='store_true', default='false')
     parser.add_argument('--version', action='version',
             version='fastavro {0}'.format(avro.__version__))
     args = parser.parse_args(argv[1:])
-    for filename in args.file:
+    if args.codecs:
+        import fastavro
+        print('\n'.join(sorted(fastavro._reader.BLOCK_READERS)))
+        raise SystemExit
+    files = args.file or ['-']
+    for filename in files:
         if filename == '-':
             fo = sys.stdin
         'Topic :: Software Development :: Libraries',
         'Topic :: Software Development :: Libraries :: Python Modules',
-    install_requires=install_requires
+    install_requires=install_requires,
+    extras_require = {
+        'snappy': ['python-snappy'],
+    },
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.