@ossiq/cli-darwin-arm64 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/bin/ossiq/_internal/Python.framework/Versions/3.13/Python +0 -0
  2. package/bin/ossiq/_internal/Python.framework/Versions/3.13/Resources/Info.plist +30 -0
  3. package/bin/ossiq/_internal/attrs-26.1.0.dist-info/INSTALLER +1 -0
  4. package/bin/ossiq/_internal/attrs-26.1.0.dist-info/METADATA +199 -0
  5. package/bin/ossiq/_internal/attrs-26.1.0.dist-info/RECORD +37 -0
  6. package/bin/ossiq/_internal/attrs-26.1.0.dist-info/REQUESTED +0 -0
  7. package/bin/ossiq/_internal/attrs-26.1.0.dist-info/WHEEL +4 -0
  8. package/bin/ossiq/_internal/attrs-26.1.0.dist-info/licenses/LICENSE +21 -0
  9. package/bin/ossiq/_internal/base_library.zip +0 -0
  10. package/bin/ossiq/_internal/cel/cel.cpython-313-darwin.so +0 -0
  11. package/bin/ossiq/_internal/certifi/cacert.pem +3959 -0
  12. package/bin/ossiq/_internal/certifi/py.typed +0 -0
  13. package/bin/ossiq/_internal/charset_normalizer/cd.cpython-313-darwin.so +0 -0
  14. package/bin/ossiq/_internal/charset_normalizer/md.cpython-313-darwin.so +0 -0
  15. package/bin/ossiq/_internal/common_expression_language-0.10.0.dist-info/INSTALLER +1 -0
  16. package/bin/ossiq/_internal/common_expression_language-0.10.0.dist-info/METADATA +261 -0
  17. package/bin/ossiq/_internal/common_expression_language-0.10.0.dist-info/RECORD +16 -0
  18. package/bin/ossiq/_internal/common_expression_language-0.10.0.dist-info/REQUESTED +0 -0
  19. package/bin/ossiq/_internal/common_expression_language-0.10.0.dist-info/WHEEL +4 -0
  20. package/bin/ossiq/_internal/common_expression_language-0.10.0.dist-info/entry_points.txt +2 -0
  21. package/bin/ossiq/_internal/common_expression_language-0.10.0.dist-info/licenses/LICENSE +201 -0
  22. package/bin/ossiq/_internal/common_expression_language-0.10.0.dist-info/sboms/cel.cyclonedx.json +2109 -0
  23. package/bin/ossiq/_internal/libcrypto.3.dylib +0 -0
  24. package/bin/ossiq/_internal/libncurses.6.dylib +0 -0
  25. package/bin/ossiq/_internal/libssl.3.dylib +0 -0
  26. package/bin/ossiq/_internal/ossiq/data/SKILL.md +313 -0
  27. package/bin/ossiq/_internal/ossiq/domain/README.md +373 -0
  28. package/bin/ossiq/_internal/ossiq/solver/README.md +155 -0
  29. package/bin/ossiq/_internal/ossiq/strategy/README.md +182 -0
  30. package/bin/ossiq/_internal/ossiq/ui/html_templates/filter_format_highlight_days.html +7 -0
  31. package/bin/ossiq/_internal/ossiq/ui/html_templates/spa_app.html +18125 -0
  32. package/bin/ossiq/_internal/ossiq/ui/html_templates/tag_versions_difference.html +33 -0
  33. package/bin/ossiq/_internal/ossiq/ui/renderers/export/README.md +207 -0
  34. package/bin/ossiq/_internal/ossiq/ui/renderers/export/schemas/export_schema_v1.5.json +1637 -0
  35. package/bin/ossiq/_internal/ossiq/ui/renderers/export/schemas/export_schema_v1.5_standard.json +1164 -0
  36. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/INSTALLER +1 -0
  37. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/METADATA +385 -0
  38. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/RECORD +13 -0
  39. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/REQUESTED +0 -0
  40. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/WHEEL +4 -0
  41. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/direct_url.json +1 -0
  42. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/entry_points.txt +2 -0
  43. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/licenses/AUTHORS +8 -0
  44. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/licenses/LICENSE +661 -0
  45. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/uv_build.json +1 -0
  46. package/bin/ossiq/_internal/ossiq-0.1.12.dist-info/uv_cache.json +1 -0
  47. package/bin/ossiq/_internal/prompt_toolkit-3.0.53.dist-info/INSTALLER +1 -0
  48. package/bin/ossiq/_internal/prompt_toolkit-3.0.53.dist-info/METADATA +171 -0
  49. package/bin/ossiq/_internal/prompt_toolkit-3.0.53.dist-info/RECORD +154 -0
  50. package/bin/ossiq/_internal/prompt_toolkit-3.0.53.dist-info/REQUESTED +0 -0
  51. package/bin/ossiq/_internal/prompt_toolkit-3.0.53.dist-info/WHEEL +5 -0
  52. package/bin/ossiq/_internal/prompt_toolkit-3.0.53.dist-info/licenses/AUTHORS.rst +11 -0
  53. package/bin/ossiq/_internal/prompt_toolkit-3.0.53.dist-info/licenses/LICENSE +27 -0
  54. package/bin/ossiq/_internal/prompt_toolkit-3.0.53.dist-info/top_level.txt +1 -0
  55. package/bin/ossiq/_internal/pycard.cpython-313-darwin.so +0 -0
  56. package/bin/ossiq/_internal/pydantic-2.13.5.dist-info/INSTALLER +1 -0
  57. package/bin/ossiq/_internal/pydantic-2.13.5.dist-info/METADATA +1307 -0
  58. package/bin/ossiq/_internal/pydantic-2.13.5.dist-info/RECORD +113 -0
  59. package/bin/ossiq/_internal/pydantic-2.13.5.dist-info/REQUESTED +0 -0
  60. package/bin/ossiq/_internal/pydantic-2.13.5.dist-info/WHEEL +4 -0
  61. package/bin/ossiq/_internal/pydantic-2.13.5.dist-info/licenses/LICENSE +21 -0
  62. package/bin/ossiq/_internal/pydantic_core/_pydantic_core.cpython-313-darwin.so +0 -0
  63. package/bin/ossiq/_internal/pyformula.cpython-313-darwin.so +0 -0
  64. package/bin/ossiq/_internal/pysolvers.cpython-313-darwin.so +0 -0
  65. package/bin/ossiq/_internal/python3.13/lib-dynload/_asyncio.cpython-313-darwin.so +0 -0
  66. package/bin/ossiq/_internal/python3.13/lib-dynload/_bisect.cpython-313-darwin.so +0 -0
  67. package/bin/ossiq/_internal/python3.13/lib-dynload/_blake2.cpython-313-darwin.so +0 -0
  68. package/bin/ossiq/_internal/python3.13/lib-dynload/_bz2.cpython-313-darwin.so +0 -0
  69. package/bin/ossiq/_internal/python3.13/lib-dynload/_codecs_cn.cpython-313-darwin.so +0 -0
  70. package/bin/ossiq/_internal/python3.13/lib-dynload/_codecs_hk.cpython-313-darwin.so +0 -0
  71. package/bin/ossiq/_internal/python3.13/lib-dynload/_codecs_iso2022.cpython-313-darwin.so +0 -0
  72. package/bin/ossiq/_internal/python3.13/lib-dynload/_codecs_jp.cpython-313-darwin.so +0 -0
  73. package/bin/ossiq/_internal/python3.13/lib-dynload/_codecs_kr.cpython-313-darwin.so +0 -0
  74. package/bin/ossiq/_internal/python3.13/lib-dynload/_codecs_tw.cpython-313-darwin.so +0 -0
  75. package/bin/ossiq/_internal/python3.13/lib-dynload/_contextvars.cpython-313-darwin.so +0 -0
  76. package/bin/ossiq/_internal/python3.13/lib-dynload/_csv.cpython-313-darwin.so +0 -0
  77. package/bin/ossiq/_internal/python3.13/lib-dynload/_ctypes.cpython-313-darwin.so +0 -0
  78. package/bin/ossiq/_internal/python3.13/lib-dynload/_curses.cpython-313-darwin.so +0 -0
  79. package/bin/ossiq/_internal/python3.13/lib-dynload/_datetime.cpython-313-darwin.so +0 -0
  80. package/bin/ossiq/_internal/python3.13/lib-dynload/_decimal.cpython-313-darwin.so +0 -0
  81. package/bin/ossiq/_internal/python3.13/lib-dynload/_hashlib.cpython-313-darwin.so +0 -0
  82. package/bin/ossiq/_internal/python3.13/lib-dynload/_heapq.cpython-313-darwin.so +0 -0
  83. package/bin/ossiq/_internal/python3.13/lib-dynload/_json.cpython-313-darwin.so +0 -0
  84. package/bin/ossiq/_internal/python3.13/lib-dynload/_lzma.cpython-313-darwin.so +0 -0
  85. package/bin/ossiq/_internal/python3.13/lib-dynload/_md5.cpython-313-darwin.so +0 -0
  86. package/bin/ossiq/_internal/python3.13/lib-dynload/_multibytecodec.cpython-313-darwin.so +0 -0
  87. package/bin/ossiq/_internal/python3.13/lib-dynload/_multiprocessing.cpython-313-darwin.so +0 -0
  88. package/bin/ossiq/_internal/python3.13/lib-dynload/_opcode.cpython-313-darwin.so +0 -0
  89. package/bin/ossiq/_internal/python3.13/lib-dynload/_pickle.cpython-313-darwin.so +0 -0
  90. package/bin/ossiq/_internal/python3.13/lib-dynload/_posixshmem.cpython-313-darwin.so +0 -0
  91. package/bin/ossiq/_internal/python3.13/lib-dynload/_posixsubprocess.cpython-313-darwin.so +0 -0
  92. package/bin/ossiq/_internal/python3.13/lib-dynload/_queue.cpython-313-darwin.so +0 -0
  93. package/bin/ossiq/_internal/python3.13/lib-dynload/_random.cpython-313-darwin.so +0 -0
  94. package/bin/ossiq/_internal/python3.13/lib-dynload/_scproxy.cpython-313-darwin.so +0 -0
  95. package/bin/ossiq/_internal/python3.13/lib-dynload/_sha1.cpython-313-darwin.so +0 -0
  96. package/bin/ossiq/_internal/python3.13/lib-dynload/_sha2.cpython-313-darwin.so +0 -0
  97. package/bin/ossiq/_internal/python3.13/lib-dynload/_sha3.cpython-313-darwin.so +0 -0
  98. package/bin/ossiq/_internal/python3.13/lib-dynload/_socket.cpython-313-darwin.so +0 -0
  99. package/bin/ossiq/_internal/python3.13/lib-dynload/_sqlite3.cpython-313-darwin.so +0 -0
  100. package/bin/ossiq/_internal/python3.13/lib-dynload/_ssl.cpython-313-darwin.so +0 -0
  101. package/bin/ossiq/_internal/python3.13/lib-dynload/_statistics.cpython-313-darwin.so +0 -0
  102. package/bin/ossiq/_internal/python3.13/lib-dynload/_struct.cpython-313-darwin.so +0 -0
  103. package/bin/ossiq/_internal/python3.13/lib-dynload/_uuid.cpython-313-darwin.so +0 -0
  104. package/bin/ossiq/_internal/python3.13/lib-dynload/_zoneinfo.cpython-313-darwin.so +0 -0
  105. package/bin/ossiq/_internal/python3.13/lib-dynload/array.cpython-313-darwin.so +0 -0
  106. package/bin/ossiq/_internal/python3.13/lib-dynload/binascii.cpython-313-darwin.so +0 -0
  107. package/bin/ossiq/_internal/python3.13/lib-dynload/fcntl.cpython-313-darwin.so +0 -0
  108. package/bin/ossiq/_internal/python3.13/lib-dynload/grp.cpython-313-darwin.so +0 -0
  109. package/bin/ossiq/_internal/python3.13/lib-dynload/math.cpython-313-darwin.so +0 -0
  110. package/bin/ossiq/_internal/python3.13/lib-dynload/mmap.cpython-313-darwin.so +0 -0
  111. package/bin/ossiq/_internal/python3.13/lib-dynload/pyexpat.cpython-313-darwin.so +0 -0
  112. package/bin/ossiq/_internal/python3.13/lib-dynload/readline.cpython-313-darwin.so +0 -0
  113. package/bin/ossiq/_internal/python3.13/lib-dynload/resource.cpython-313-darwin.so +0 -0
  114. package/bin/ossiq/_internal/python3.13/lib-dynload/select.cpython-313-darwin.so +0 -0
  115. package/bin/ossiq/_internal/python3.13/lib-dynload/syslog.cpython-313-darwin.so +0 -0
  116. package/bin/ossiq/_internal/python3.13/lib-dynload/termios.cpython-313-darwin.so +0 -0
  117. package/bin/ossiq/_internal/python3.13/lib-dynload/unicodedata.cpython-313-darwin.so +0 -0
  118. package/bin/ossiq/_internal/python3.13/lib-dynload/zlib.cpython-313-darwin.so +0 -0
  119. package/bin/ossiq/_internal/semantic_version-2.10.0.dist-info/INSTALLER +1 -0
  120. package/bin/ossiq/_internal/semantic_version-2.10.0.dist-info/LICENSE +22 -0
  121. package/bin/ossiq/_internal/semantic_version-2.10.0.dist-info/METADATA +324 -0
  122. package/bin/ossiq/_internal/semantic_version-2.10.0.dist-info/RECORD +10 -0
  123. package/bin/ossiq/_internal/semantic_version-2.10.0.dist-info/REQUESTED +0 -0
  124. package/bin/ossiq/_internal/semantic_version-2.10.0.dist-info/WHEEL +6 -0
  125. package/bin/ossiq/_internal/semantic_version-2.10.0.dist-info/top_level.txt +1 -0
  126. package/bin/ossiq/_internal/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +2 -0
  127. package/bin/ossiq/_internal/wcwidth/py.typed +0 -0
  128. package/bin/ossiq/_internal/wcwidth/textwrap.py,cover +664 -0
  129. package/bin/ossiq/_internal/yaml/_yaml.cpython-313-darwin.so +0 -0
  130. package/bin/ossiq/ossiq +0 -0
  131. package/package.json +24 -0
@@ -0,0 +1,113 @@
1
+ pydantic-2.13.5.dist-info/INSTALLER,sha256=5hhM4Q4mYTT9z6QB6PGpUAW81PGNFrYrdXMj4oM_6ak,2
2
+ pydantic-2.13.5.dist-info/METADATA,sha256=BoWDDRNke9bz8FUmBD0yqLKiIdhrU3cwU9bFK7F6nAc,110178
3
+ pydantic-2.13.5.dist-info/RECORD,,
4
+ pydantic-2.13.5.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ pydantic-2.13.5.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
6
+ pydantic-2.13.5.dist-info/licenses/LICENSE,sha256=qeGG88oWte74QxjnpwFyE1GgDLe4rjpDlLZ7SeNSnvM,1129
7
+ pydantic/__init__.py,sha256=5iEnJ4wHv1OEzdKQPzaKaZKfO4pSQAC65ODrYI6_S8Y,15812
8
+ pydantic/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ pydantic/_internal/_config.py,sha256=Rzys1Joffn4JczElcYDqsZLRgBgHn2lYWqDR55oASPA,14839
10
+ pydantic/_internal/_core_metadata.py,sha256=Y_g2t3i7uluK-wXCZvzJfRFMPUM23aBYLfae4FzBPy0,5162
11
+ pydantic/_internal/_core_utils.py,sha256=1jru4VbJ0x63R6dtVcuOI-dKQTC_d_lSnJWEBQzGNEQ,6487
12
+ pydantic/_internal/_dataclasses.py,sha256=Zgqcm1WaJLBwTQQC5mGKNowjlTgX3mfX_J5e2vd24lM,13188
13
+ pydantic/_internal/_decorators.py,sha256=RDEG_Jau5NiJcfO0xgdT7EOgsU1LgWIYlX7wN5rYtVs,33620
14
+ pydantic/_internal/_decorators_v1.py,sha256=tfdfdpQKY4R2XCOwqHbZeoQMur6VNigRrfhudXBHx38,6185
15
+ pydantic/_internal/_discriminated_union.py,sha256=JLx_MVLep7Mxl1zbpdNZjvHDcz-J3OEW6WcdV184dcM,26255
16
+ pydantic/_internal/_docs_extraction.py,sha256=fyznSAHh5AzohnXZStV0HvH-nRbavNHPyg-knx-S_EE,4127
17
+ pydantic/_internal/_fields.py,sha256=hXeb-zodGwTDvG9OK1um18P64b7cqHb0GOngP4jrgcY,31557
18
+ pydantic/_internal/_forward_ref.py,sha256=5n3Y7-3AKLn8_FS3Yc7KutLiPUhyXmAtkEZOaFnonwM,611
19
+ pydantic/_internal/_generate_schema.py,sha256=PjogUawIXmf8LuLNe9seJph7WLW4MJ7-GBsXwCsQC9Q,136348
20
+ pydantic/_internal/_generics.py,sha256=CXjcInlvci8VejaWn1f39kv0AcfJL0R523qRLFZVD-s,23393
21
+ pydantic/_internal/_git.py,sha256=IwPh3DPfa2Xq3rBuB9Nx8luR2A1i69QdeTfWWXIuCVg,809
22
+ pydantic/_internal/_import_utils.py,sha256=TRhxD5OuY6CUosioBdBcJUs0om7IIONiZdYAV7zQ8jM,402
23
+ pydantic/_internal/_internal_dataclass.py,sha256=_bedc1XbuuygRGiLZqkUkwwFpQaoR1hKLlR501nyySY,144
24
+ pydantic/_internal/_known_annotated_metadata.py,sha256=PynQIFQ61__4Gcrzn0D5ENllg7jPq_cxoLTmuFQBY88,16805
25
+ pydantic/_internal/_mock_val_ser.py,sha256=wmRRFSBvqfcLbI41PsFliB4u2AZ3mJpZeiERbD3xKTo,8885
26
+ pydantic/_internal/_model_construction.py,sha256=JoKmY4JrDBu3nG_tCIrJgtJJE1uq6v29TvTz5ElHE5g,38928
27
+ pydantic/_internal/_namespace_utils.py,sha256=hl3-TRAr82U2jTyPP3t-QqsvKLirxtkLfNfrN-fp0x8,12878
28
+ pydantic/_internal/_repr.py,sha256=jQfnJuyDxQpSRNhG29II9PX8e4Nv2qWZrEw2lqih3UE,5172
29
+ pydantic/_internal/_schema_gather.py,sha256=8nJ-uM6Y4z6xpasnGonEMubtNVX_mxeeRDFmd_qMVLA,9052
30
+ pydantic/_internal/_schema_generation_shared.py,sha256=F_rbQbrkoomgxsskdHpP0jUJ7TCfe0BADAEkq6CJ4nM,4842
31
+ pydantic/_internal/_serializers.py,sha256=YIWvSmAR5fnbGSWCOQduWt1yB4ZQY42eAruc-enrb6c,1491
32
+ pydantic/_internal/_signature.py,sha256=i_b6wtluiVWZRh1ZY8UvB2UZziP1KjqSXZgC-HxwOT0,6808
33
+ pydantic/_internal/_typing_extra.py,sha256=dDxqF46lzuqCoKLrAH_k95EDbayEeKb2lHjuTJ5OBoY,31574
34
+ pydantic/_internal/_utils.py,sha256=gN48BsR-FDrJDibCmo69ttQg67WbuFrdy_1NQL3cvLI,15959
35
+ pydantic/_internal/_validate_call.py,sha256=OD_BspHaL9FKzZ9XrndhiEuMnjF3SRIJUHtwv6yUffU,5366
36
+ pydantic/_internal/_validators.py,sha256=7GTjXXWFMLib4dxQ-HeaiHlAZiR2B2G8byCYMGrmQ48,20563
37
+ pydantic/_migration.py,sha256=VF73LRCUz3Irb5xVt13jb3NAcXVnEF6T1-J0OLfeZ5A,12160
38
+ pydantic/alias_generators.py,sha256=KM1n3u4JfLSBl1UuYg3hoYHzXJD-yvgrnq8u1ccwh_A,2124
39
+ pydantic/aliases.py,sha256=vhCHyoSWnX-EJ-wWb5qj4xyRssgGWnTQfzQp4GSZ9ug,4937
40
+ pydantic/annotated_handlers.py,sha256=WfyFSqwoEIFXBh7T73PycKloI1DiX45GWi0-JOsCR4Y,4407
41
+ pydantic/class_validators.py,sha256=i_V3j-PYdGLSLmj_IJZekTRjunO8SIVz8LMlquPyP7E,148
42
+ pydantic/color.py,sha256=AzqGfVQHF92_ZctDcue0DM4yTp2P6tekkwRINTWrLIo,21481
43
+ pydantic/config.py,sha256=o1P67FMWIQG-_RfGtKislkHwo4pXm_6jfsR41P88v78,44533
44
+ pydantic/dataclasses.py,sha256=4X9We0jj1KLwBtvYSkAFXNon46zrpBmRZANf4LfwbXg,18963
45
+ pydantic/datetime_parse.py,sha256=QC-WgMxMr_wQ_mNXUS7AVf-2hLEhvvsPY1PQyhSGOdk,150
46
+ pydantic/decorator.py,sha256=YX-jUApu5AKaVWKPoaV-n-4l7UbS69GEt9Ra3hszmKI,145
47
+ pydantic/deprecated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
+ pydantic/deprecated/class_validators.py,sha256=n0jYQOcb5YQiw0b7YXyi7NPiYdV7ujWR4KyZumjTPok,10281
49
+ pydantic/deprecated/config.py,sha256=k_lsVk57paxLJOcBueH07cu1OgEgWdVBxm6lfaC3CCU,2663
50
+ pydantic/deprecated/copy_internals.py,sha256=Ghd-vkMd5EYCCgyCGtPKO58np9cEKBQC6qkBeIEFI2g,7618
51
+ pydantic/deprecated/decorator.py,sha256=TBm6bJ7wJsNih_8Wq5IzDcwP32m9_vfxs96desLuk00,10845
52
+ pydantic/deprecated/json.py,sha256=HlWCG35RRrxyzuTS6LTQiZBwRhmDZWmeqQH8rLW6wA8,4657
53
+ pydantic/deprecated/parse.py,sha256=Gzd6b_g8zJXcuE7QRq5adhx_EMJahXfcpXCF0RgrqqI,2511
54
+ pydantic/deprecated/tools.py,sha256=Nrm9oFRZWp8-jlfvPgJILEsywp4YzZD52XIGPDLxHcI,3330
55
+ pydantic/env_settings.py,sha256=6IHeeWEqlUPRUv3V-AXiF_W91fg2Jw_M3O0l34J_eyA,148
56
+ pydantic/error_wrappers.py,sha256=RK6mqATc9yMD-KBD9IJS9HpKCprWHd8wo84Bnm-3fR8,150
57
+ pydantic/errors.py,sha256=DrECPCWhSYrQ8Ba4O8hKzIAM2i9GBHTXWALzaFDpLf4,6013
58
+ pydantic/experimental/__init__.py,sha256=QT7rKYdDsCiTJ9GEjmsQdWHScwpKrrNkGq6vqONP6RQ,104
59
+ pydantic/experimental/arguments_schema.py,sha256=EFnjX_ulp-tPyUjQX5pmQtug1OFL_Acc8bcMbLd-fVY,1866
60
+ pydantic/experimental/missing_sentinel.py,sha256=hQejgtF00wUuQMni9429evg-eXyIwpKvjsD8ofqfj-w,127
61
+ pydantic/experimental/pipeline.py,sha256=auoW6l6g1FC41LciPmsI1M6ncf00Szde9B3C-yvb9mI,23956
62
+ pydantic/fields.py,sha256=a8ZhJfI8FD6TQDD7-cWMm1ZXlQva0wMdT2Ey5VvVe-M,82023
63
+ pydantic/functional_serializers.py,sha256=zwRAjZusORtEbtxpVU20kg8FpemyZz4Fq6wJk1mpwYQ,18117
64
+ pydantic/functional_validators.py,sha256=7p-4jvP__9jZyvcdXiide5pAa_JlM7fJ1BgkqbjxSWM,31724
65
+ pydantic/generics.py,sha256=0ZqZ9O9annIj_3mGBRqps4htey3b5lV1-d2tUxPMMnA,144
66
+ pydantic/json.py,sha256=ZH8RkI7h4Bz-zp8OdTAxbJUoVvcoU-jhMdRZ0B-k0xc,140
67
+ pydantic/json_schema.py,sha256=da3hQ9vQPLEhPsrDnUlijfQ1fuCCViGVnUzOrAZLgDs,125955
68
+ pydantic/main.py,sha256=NbhCz-ku8wDgYLQMBi75Ov7hywdc8LewA3oUNIZ8JVQ,85334
69
+ pydantic/mypy.py,sha256=ypnhh7hn-L-mk6sW4CcrdV2C5lyMzcM6FTBj21GufsE,61074
70
+ pydantic/networks.py,sha256=gCB96gt0G7tiVDhVnJfpKr1ARL5qkH-SPZkuNkmG2O4,42102
71
+ pydantic/parse.py,sha256=wkd82dgtvWtD895U_I6E1htqMlGhBSYEV39cuBSeo3A,141
72
+ pydantic/plugin/__init__.py,sha256=a7Tw366U6K3kltCCNZY76nc9ss-7uGGQ40TXad9OypQ,7333
73
+ pydantic/plugin/_loader.py,sha256=hAjgSljoIhGx3AVpIpuqw5SPttBNNeGBSTrqSMnNiJk,2213
74
+ pydantic/plugin/_schema_validator.py,sha256=thbZz_-5sYPzxsC5uWK5GDfYcmmrsecC8Vw_A02mhwU,5815
75
+ pydantic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
+ pydantic/root_model.py,sha256=cOMoeWdp536KF85uRIcW-oz1O7d5GRCpx9HTS4-1uf8,6394
77
+ pydantic/schema.py,sha256=Vqqjvq_LnapVknebUd3Bp_J1p2gXZZnZRgL48bVEG7o,142
78
+ pydantic/tools.py,sha256=iHQpd8SJ5DCTtPV5atAV06T89bjSaMFeZZ2LX9lasZY,141
79
+ pydantic/type_adapter.py,sha256=T05g8WQczBsVU_35RdKxgjIi7Y7LIip67pF3NI7X4GE,36123
80
+ pydantic/types.py,sha256=fpYcGnAncK4QjaFm3jZtqYwxJYzB7rJJPfAl89emzyQ,105961
81
+ pydantic/typing.py,sha256=P7feA35MwTcLsR1uL7db0S-oydBxobmXa55YDoBgajQ,138
82
+ pydantic/utils.py,sha256=15nR2QpqTBFlQV4TNtTItMyTJx_fbyV-gPmIEY1Gooc,141
83
+ pydantic/v1/__init__.py,sha256=SxQPklgBs4XHJwE6BZ9qoewYoGiNyYUnmHzEFCZbfnI,2946
84
+ pydantic/v1/_hypothesis_plugin.py,sha256=5ES5xWuw1FQAsymLezy8QgnVz0ZpVfU3jkmT74H27VQ,14847
85
+ pydantic/v1/annotated_types.py,sha256=uk2NAAxqiNELKjiHhyhxKaIOh8F1lYW_LzrW3X7oZBc,3157
86
+ pydantic/v1/class_validators.py,sha256=ULOaIUgYUDBsHL7EEVEarcM-UubKUggoN8hSbDonsFE,14672
87
+ pydantic/v1/color.py,sha256=iZABLYp6OVoo2AFkP9Ipri_wSc6-Kklu8YuhSartd5g,16844
88
+ pydantic/v1/config.py,sha256=a6P0Wer9x4cbwKW7Xv8poSUqM4WP-RLWwX6YMpYq9AA,6532
89
+ pydantic/v1/dataclasses.py,sha256=784cqvInbwIPWr9usfpX3ch7z4t3J2tTK6N067_wk1o,18172
90
+ pydantic/v1/datetime_parse.py,sha256=4Qy1kQpq3rNVZJeIHeSPDpuS2Bvhp1KPtzJG1xu-H00,7724
91
+ pydantic/v1/decorator.py,sha256=zaaxxxoWPCm818D1bs0yhapRjXm32V8G0ZHWCdM1uXA,10339
92
+ pydantic/v1/env_settings.py,sha256=A9VXwtRl02AY-jH0C0ouy5VNw3fi6F_pkzuHDjgAAOM,14105
93
+ pydantic/v1/error_wrappers.py,sha256=6625Mfw9qkC2NwitB_JFAWe8B-Xv6zBU7rL9k28tfyo,5196
94
+ pydantic/v1/errors.py,sha256=mIwPED5vGM5Q5v4C4Z1JPldTRH-omvEylH6ksMhOmPw,17726
95
+ pydantic/v1/fields.py,sha256=VqWJCriUNiEyptXroDVJ501JpVA0en2VANcksqXL2b8,50649
96
+ pydantic/v1/generics.py,sha256=YzyKTZN6x5Q1RGJ3WQ9jN-uwHJxL3W4qoZqwcZXqxWg,17829
97
+ pydantic/v1/json.py,sha256=WQ5Hy_hIpfdR3YS8k6N2E6KMJzsdbBi_ldWOPJaV81M,3390
98
+ pydantic/v1/main.py,sha256=vRB1TbpkzPN3P5ijJlc-cjNuO-HciNOpC4b8K3zZnfc,45697
99
+ pydantic/v1/mypy.py,sha256=Cl8XRfCmIcVE3j5AEU52C8iDh8lcX__D3hz2jIWxMAs,38860
100
+ pydantic/v1/networks.py,sha256=HYNtKAfOmOnKJpsDg1g6SIkj9WPhU_-i8l5e2JKBpG4,22124
101
+ pydantic/v1/parse.py,sha256=BJtdqiZRtav9VRFCmOxoY-KImQmjPy-A_NoojiFUZxY,1821
102
+ pydantic/v1/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
+ pydantic/v1/schema.py,sha256=aqBuA--cq8gAVkim5BJPFASHzOZ8dFtmFX_fNGr6ip4,47801
104
+ pydantic/v1/tools.py,sha256=1lDdXHk0jL5uP3u5RCYAvUAlGClgAO-45lkq9j7fyBA,2881
105
+ pydantic/v1/types.py,sha256=Bzl-RcnitPBHnqwwj9iv7JjHuN1GpnWH24dKkF3l9e8,35455
106
+ pydantic/v1/typing.py,sha256=ovwtLpEZCbnghZaHfSNJupzetzHNkLXjn_66kgTnIV4,20102
107
+ pydantic/v1/utils.py,sha256=1PqOIlz6OVWwGds3HBKlw4Et6asFou0UUpAto7jFOCs,26014
108
+ pydantic/v1/validators.py,sha256=lyUkn1MWhHxlCX5ZfEgFj_CAHojoiPcaQeMdEM9XviU,22187
109
+ pydantic/v1/version.py,sha256=YpHWOQKtGoxfyikzGrcmXJVKUVYB9EBdoCR994QxSnE,1039
110
+ pydantic/validate_call_decorator.py,sha256=VLAi4hoFpjC-1eL0HixYaaWaEFO6htGcDctgsqa5VII,4416
111
+ pydantic/validators.py,sha256=pwbIJXVb1CV2mAE4w_EGfNj7DwzsKaWw_tTL6cviTus,146
112
+ pydantic/version.py,sha256=uKOxh0LjiZkZ0KfLmlpPYRAY-_NpIX8ijxOLDNhW8m8,3985
113
+ pydantic/warnings.py,sha256=3QyQo6lN35cO7OXDbFEXWcNaPlGCRaregVZA-G-lZwI,4822
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 to present Pydantic Services Inc. and individual contributors.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,22 @@
1
+ Copyright (c) The python-semanticversion project
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+ 2. Redistributions in binary form must reproduce the above copyright notice,
10
+ this list of conditions and the following disclaimer in the documentation
11
+ and/or other materials provided with the distribution.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
14
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
17
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
20
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,324 @@
1
+ Metadata-Version: 2.1
2
+ Name: semantic-version
3
+ Version: 2.10.0
4
+ Summary: A library implementing the 'SemVer' scheme.
5
+ Home-page: https://github.com/rbarrois/python-semanticversion
6
+ Author: Raphaël Barrois
7
+ Author-email: raphael.barrois+semver@polytechnique.org
8
+ License: BSD
9
+ Keywords: semantic version,versioning,version
10
+ Platform: UNKNOWN
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: BSD License
14
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Programming Language :: Python :: 2.7
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.4
20
+ Classifier: Programming Language :: Python :: 3.5
21
+ Classifier: Programming Language :: Python :: 3.6
22
+ Classifier: Programming Language :: Python :: 3.7
23
+ Classifier: Programming Language :: Python :: 3.8
24
+ Classifier: Programming Language :: Python :: 3.9
25
+ Classifier: Programming Language :: Python :: 3.10
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Requires-Python: >=2.7
28
+ Description-Content-Type: text/x-rst
29
+ Provides-Extra: dev
30
+ Requires-Dist: Django (>=1.11) ; extra == 'dev'
31
+ Requires-Dist: nose2 ; extra == 'dev'
32
+ Requires-Dist: tox ; extra == 'dev'
33
+ Requires-Dist: check-manifest ; extra == 'dev'
34
+ Requires-Dist: coverage ; extra == 'dev'
35
+ Requires-Dist: flake8 ; extra == 'dev'
36
+ Requires-Dist: wheel ; extra == 'dev'
37
+ Requires-Dist: zest.releaser[recommended] ; extra == 'dev'
38
+ Requires-Dist: readme-renderer (<25.0) ; (python_version == "3.4") and extra == 'dev'
39
+ Requires-Dist: colorama (<=0.4.1) ; (python_version == "3.4") and extra == 'dev'
40
+ Provides-Extra: doc
41
+ Requires-Dist: Sphinx ; extra == 'doc'
42
+ Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
43
+
44
+ Introduction
45
+ ============
46
+
47
+ This small python library provides a few tools to handle `SemVer`_ in Python.
48
+ It follows strictly the 2.0.0 version of the SemVer scheme.
49
+
50
+ .. image:: https://github.com/rbarrois/python-semanticversion/actions/workflows/test.yml/badge.svg
51
+ :target: https://github.com/rbarrois/python-semanticversion/actions/workflows/test.yml
52
+
53
+ .. image:: https://img.shields.io/pypi/v/semantic_version.svg
54
+ :target: https://python-semanticversion.readthedocs.io/en/latest/changelog.html
55
+ :alt: Latest Version
56
+
57
+ .. image:: https://img.shields.io/pypi/pyversions/semantic_version.svg
58
+ :target: https://pypi.python.org/pypi/semantic_version/
59
+ :alt: Supported Python versions
60
+
61
+ .. image:: https://img.shields.io/pypi/wheel/semantic_version.svg
62
+ :target: https://pypi.python.org/pypi/semantic_version/
63
+ :alt: Wheel status
64
+
65
+ .. image:: https://img.shields.io/pypi/l/semantic_version.svg
66
+ :target: https://pypi.python.org/pypi/semantic_version/
67
+ :alt: License
68
+
69
+ Links
70
+ -----
71
+
72
+ - Package on `PyPI`_: https://pypi.org/project/semantic-version/
73
+ - Doc on `ReadTheDocs <http://readthedocs.org/>`_: https://python-semanticversion.readthedocs.io/
74
+ - Source on `GitHub <http://github.com/>`_: http://github.com/rbarrois/python-semanticversion/
75
+ - Build on Github Actions: https://github.com/rbarrois/python-semanticversion/actions
76
+ - Semantic Version specification: `SemVer`_
77
+
78
+
79
+ Getting started
80
+ ===============
81
+
82
+ Install the package from `PyPI`_, using pip:
83
+
84
+ .. code-block:: sh
85
+
86
+ pip install semantic-version
87
+
88
+ Or from GitHub:
89
+
90
+ .. code-block:: sh
91
+
92
+ $ git clone git://github.com/rbarrois/python-semanticversion.git
93
+
94
+
95
+ Import it in your code:
96
+
97
+
98
+ .. code-block:: python
99
+
100
+ import semantic_version
101
+
102
+
103
+ This module provides classes to handle semantic versions:
104
+
105
+ - ``Version`` represents a version number (``0.1.1-alpha+build.2012-05-15``)
106
+ - ``BaseSpec``-derived classes represent requirement specifications (``>=0.1.1,<0.3.0``):
107
+
108
+ - ``SimpleSpec`` describes a natural description syntax
109
+ - ``NpmSpec`` is used for NPM-style range descriptions.
110
+
111
+ Versions
112
+ --------
113
+
114
+ Defining a ``Version`` is quite simple:
115
+
116
+
117
+ .. code-block:: pycon
118
+
119
+ >>> import semantic_version
120
+ >>> v = semantic_version.Version('0.1.1')
121
+ >>> v.major
122
+ 0
123
+ >>> v.minor
124
+ 1
125
+ >>> v.patch
126
+ 1
127
+ >>> v.prerelease
128
+ []
129
+ >>> v.build
130
+ []
131
+ >>> list(v)
132
+ [0, 1, 1, [], []]
133
+
134
+ If the provided version string is invalid, a ``ValueError`` will be raised:
135
+
136
+ .. code-block:: pycon
137
+
138
+ >>> semantic_version.Version('0.1')
139
+ Traceback (most recent call last):
140
+ File "<stdin>", line 1, in <module>
141
+ File "/Users/rbarrois/dev/semantic_version/src/semantic_version/base.py", line 64, in __init__
142
+ major, minor, patch, prerelease, build = self.parse(version_string, partial)
143
+ File "/Users/rbarrois/dev/semantic_version/src/semantic_version/base.py", line 86, in parse
144
+ raise ValueError('Invalid version string: %r' % version_string)
145
+ ValueError: Invalid version string: '0.1'
146
+
147
+
148
+ One may also create a ``Version`` with named components:
149
+
150
+ .. code-block:: pycon
151
+
152
+ >>> semantic_version.Version(major=0, minor=1, patch=2)
153
+ Version('0.1.2')
154
+
155
+ In that case, ``major``, ``minor`` and ``patch`` are mandatory, and must be integers.
156
+ ``prerelease`` and ``build``, if provided, must be tuples of strings:
157
+
158
+ .. code-block:: pycon
159
+
160
+ >>> semantic_version.Version(major=0, minor=1, patch=2, prerelease=('alpha', '2'))
161
+ Version('0.1.2-alpha.2')
162
+
163
+
164
+ Some user-supplied input might not match the semantic version scheme.
165
+ For such cases, the ``Version.coerce`` method will try to convert any
166
+ version-like string into a valid semver version:
167
+
168
+ .. code-block:: pycon
169
+
170
+ >>> Version.coerce('0')
171
+ Version('0.0.0')
172
+ >>> Version.coerce('0.1.2.3.4')
173
+ Version('0.1.2+3.4')
174
+ >>> Version.coerce('0.1.2a3')
175
+ Version('0.1.2-a3')
176
+
177
+ Working with versions
178
+ """""""""""""""""""""
179
+
180
+ Obviously, versions can be compared:
181
+
182
+
183
+ .. code-block:: pycon
184
+
185
+ >>> semantic_version.Version('0.1.1') < semantic_version.Version('0.1.2')
186
+ True
187
+ >>> semantic_version.Version('0.1.1') > semantic_version.Version('0.1.1-alpha')
188
+ True
189
+ >>> semantic_version.Version('0.1.1') <= semantic_version.Version('0.1.1-alpha')
190
+ False
191
+
192
+ You can also get a new version that represents a bump in one of the version levels:
193
+
194
+ .. code-block:: pycon
195
+
196
+ >>> v = semantic_version.Version('0.1.1+build')
197
+ >>> new_v = v.next_major()
198
+ >>> str(new_v)
199
+ '1.0.0'
200
+ >>> v = semantic_version.Version('1.1.1+build')
201
+ >>> new_v = v.next_minor()
202
+ >>> str(new_v)
203
+ '1.2.0'
204
+ >>> v = semantic_version.Version('1.1.1+build')
205
+ >>> new_v = v.next_patch()
206
+ >>> str(new_v)
207
+ '1.1.2'
208
+
209
+
210
+
211
+ Requirement specification
212
+ -------------------------
213
+
214
+ python-semanticversion provides a couple of ways to describe a range of accepted
215
+ versions:
216
+
217
+ - The ``SimpleSpec`` class provides a simple, easily understood scheme --
218
+ somewhat inspired from PyPI range notations;
219
+ - The ``NpmSpec`` class supports the whole NPM range specification scheme:
220
+
221
+ .. code-block:: pycon
222
+
223
+ >>> Version('0.1.2') in NpmSpec('0.1.0-alpha.2 .. 0.2.4')
224
+ True
225
+ >>> Version('0.1.2') in NpmSpec('>=0.1.1 <0.1.3 || 2.x')
226
+ True
227
+ >>> Version('2.3.4') in NpmSpec('>=0.1.1 <0.1.3 || 2.x')
228
+ True
229
+
230
+ The ``SimpleSpec`` scheme
231
+ """""""""""""""""""""""""
232
+
233
+ Basic usage is simply a comparator and a base version:
234
+
235
+ .. code-block:: pycon
236
+
237
+ >>> s = SimpleSpec('>=0.1.1') # At least 0.1.1
238
+ >>> s.match(Version('0.1.1'))
239
+ True
240
+ >>> s.match(Version('0.1.1-alpha1')) # pre-release doesn't satisfy version spec
241
+ False
242
+ >>> s.match(Version('0.1.0'))
243
+ False
244
+
245
+ Combining specifications can be expressed as follows:
246
+
247
+ .. code-block:: pycon
248
+
249
+ >>> SimpleSpec('>=0.1.1,<0.3.0')
250
+
251
+ Simpler test syntax is also available using the ``in`` keyword:
252
+
253
+ .. code-block:: pycon
254
+
255
+ >>> s = SimpleSpec('==0.1.1')
256
+ >>> Version('0.1.1+git7ccc72') in s # build variants are equivalent to full versions
257
+ True
258
+ >>> Version('0.1.1-alpha1') in s # pre-release variants don't match the full version.
259
+ False
260
+ >>> Version('0.1.2') in s
261
+ False
262
+
263
+
264
+ Refer to the full documentation at
265
+ https://python-semanticversion.readthedocs.io/en/latest/ for more details on the
266
+ ``SimpleSpec`` scheme.
267
+
268
+
269
+
270
+ Using a specification
271
+ """""""""""""""""""""
272
+
273
+ The ``SimpleSpec.filter`` method filters an iterable of ``Version``:
274
+
275
+ .. code-block:: pycon
276
+
277
+ >>> s = SimpleSpec('>=0.1.0,<0.4.0')
278
+ >>> versions = (Version('0.%d.0' % i) for i in range(6))
279
+ >>> for v in s.filter(versions):
280
+ ... print v
281
+ 0.1.0
282
+ 0.2.0
283
+ 0.3.0
284
+
285
+ It is also possible to select the 'best' version from such iterables:
286
+
287
+
288
+ .. code-block:: pycon
289
+
290
+ >>> s = SimpleSpec('>=0.1.0,<0.4.0')
291
+ >>> versions = (Version('0.%d.0' % i) for i in range(6))
292
+ >>> s.select(versions)
293
+ Version('0.3.0')
294
+
295
+
296
+
297
+ Contributing
298
+ ============
299
+
300
+ In order to contribute to the source code:
301
+
302
+ - Open an issue on `GitHub`_: https://github.com/rbarrois/python-semanticversion/issues
303
+ - Fork the `repository <https://github.com/rbarrois/python-semanticversion>`_
304
+ and submit a pull request on `GitHub`_
305
+ - Or send me a patch (mailto:raphael.barrois+semver@polytechnique.org)
306
+
307
+ When submitting patches or pull requests, you should respect the following rules:
308
+
309
+ - Coding conventions are based on :pep:`8`
310
+ - The whole test suite must pass after adding the changes
311
+ - The test coverage for a new feature must be 100%
312
+ - New features and methods should be documented in the ``reference`` section
313
+ and included in the ``changelog``
314
+ - Include your name in the ``contributors`` section
315
+
316
+ .. note:: All files should contain the following header::
317
+
318
+ # -*- encoding: utf-8 -*-
319
+ # Copyright (c) The python-semanticversion project
320
+
321
+ .. _SemVer: http://semver.org/
322
+ .. _PyPI: http://pypi.python.org/
323
+
324
+