TODO.rst 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. Things to be done
  2. =================
  3. Big things to tackle, anyone interested is welcome to fork pyasn1, work on
  4. it and come up with a PR!
  5. New codecs
  6. ----------
  7. * PER
  8. * OER
  9. * XER
  10. * LWER
  11. * JSON (alinged with existing experimental schemas)
  12. Lazy codecs
  13. -----------
  14. Implement a thin layer over base types to cache pieces
  15. of substrate being decoded till the very moment of ASN.1
  16. object access in the parse tree.
  17. Codecs generator interface
  18. --------------------------
  19. For indefinite length or chunked encoding mode, make codecs
  20. iterable producing/consuming substrate/objects.
  21. ASN.1 schema compiler
  22. ---------------------
  23. Ideally, the compiler should parse modern schema files and be
  24. designed to emit code for arbitrary languages (including SQL).
  25. Base types
  26. ----------
  27. Implement X.680 constructs, including information schema.
  28. Examples
  29. --------
  30. Add examples, including advanced/obscure use cases.
  31. Documentation
  32. -------------
  33. Document more API, add notes and example snippets.
  34. More fresh modules
  35. ------------------
  36. Compile and ship more Pythonized ASN.1 modules for
  37. various ASN.1-based protocols (e.g. Kerberos etc).
  38. Refresh outdated modules in pyasn1-packages.
  39. Minor, housekeeping things
  40. --------------------------
  41. * more PEP8'ing at places
  42. * consider simplifying repr(), otherwise it tend to be too hard to grasp
  43. * Specialize ASN.1 character and useful types
  44. * ber.decoder:
  45. * suspend codec on underrun error ?
  46. * present subtypes ?
  47. * component presence check wont work at innertypeconst
  48. * type vs value, defaultValue
  49. * ber.encoder:
  50. * Asn1Item.clone() / shallowcopy issue
  51. * large length encoder?
  52. * lookup type by tag first to allow custom codecs for non-base types
  53. * type.useful:
  54. * may need to implement prettyIn/Out
  55. * type.char:
  56. * may need to implement constraints
  57. * type.namedtypes
  58. * type vs tagset name convention
  59. * how untagged TagSet should be initialized?
  60. * type and codecs for Real needs refactoring