Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/fastavro/__init__.py: 100%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

18 statements  

1"""Fast Avro file iteration. 

2 

3Example usage:: 

4 

5 # Reading 

6 import fastavro 

7 

8 with open('some-file.avro', 'rb') as fo: 

9 reader = fastavro.reader(fo) 

10 schema = reader.schema 

11 

12 for record in reader: 

13 process_record(record) 

14 

15 

16 # Writing 

17 from fastavro import writer 

18 

19 schema = { 

20 'doc': 'A weather reading.', 

21 'name': 'Weather', 

22 'namespace': 'test', 

23 'type': 'record', 

24 'fields': [ 

25 {'name': 'station', 'type': 'string'}, 

26 {'name': 'time', 'type': 'long'}, 

27 {'name': 'temp', 'type': 'int'}, 

28 ], 

29 } 

30 

31 # 'records' can be an iterable (including generator) 

32 records = [ 

33 {u'station': u'011990-99999', u'temp': 0, u'time': 1433269388}, 

34 {u'station': u'011990-99999', u'temp': 22, u'time': 1433270389}, 

35 {u'station': u'011990-99999', u'temp': -11, u'time': 1433273379}, 

36 {u'station': u'012650-99999', u'temp': 111, u'time': 1433275478}, 

37 ] 

38 

39 with open('weather.avro', 'wb') as out: 

40 writer(out, schema, records) 

41""" 

42 

43__version_info__ = (1, 11, 1) 

44__version__ = "%s.%s.%s" % __version_info__ 

45 

46 

47import fastavro.read 

48import fastavro.write 

49import fastavro.schema 

50import fastavro.validation 

51 

52reader = fastavro.read.reader 

53json_reader = fastavro.json_read.json_reader 

54block_reader = fastavro.read.block_reader 

55schemaless_reader = fastavro.read.schemaless_reader 

56writer = fastavro.write.writer 

57json_writer = fastavro.json_write.json_writer 

58schemaless_writer = fastavro.write.schemaless_writer 

59is_avro = fastavro.read.is_avro 

60validate = fastavro.validation.validate 

61parse_schema = fastavro.schema.parse_schema 

62 

63__all__ = [n for n in locals().keys() if not n.startswith("_")] + ["__version__"]