threefive 3.0.78__tar.gz → 3.0.81__tar.gz

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 (46) hide show
  1. {threefive-3.0.78 → threefive-3.0.81}/PKG-INFO +37 -16
  2. {threefive-3.0.78 → threefive-3.0.81}/README.md +35 -10
  3. {threefive-3.0.78 → threefive-3.0.81}/pyproject.toml +3 -6
  4. {threefive-3.0.78 → threefive-3.0.81}/threefive/__init__.py +2 -1
  5. {threefive-3.0.78 → threefive-3.0.81}/threefive/cli.py +4 -2
  6. {threefive-3.0.78 → threefive-3.0.81}/threefive/encode.py +1 -1
  7. {threefive-3.0.78 → threefive-3.0.81}/threefive/gums.py +2 -3
  8. {threefive-3.0.78 → threefive-3.0.81}/threefive/hls.py +1 -1
  9. {threefive-3.0.78 → threefive-3.0.81}/threefive/new_reader.py +15 -2
  10. {threefive-3.0.78 → threefive-3.0.81}/threefive/segment.py +2 -1
  11. {threefive-3.0.78 → threefive-3.0.81}/threefive/sixfix.py +6 -5
  12. {threefive-3.0.78 → threefive-3.0.81}/threefive/stuff.py +1 -1
  13. {threefive-3.0.78 → threefive-3.0.81}/threefive/superkabuki.py +3 -1
  14. {threefive-3.0.78 → threefive-3.0.81}/threefive/upids.py +1 -1
  15. {threefive-3.0.78 → threefive-3.0.81}/threefive/version.py +1 -1
  16. {threefive-3.0.78 → threefive-3.0.81}/threefive.egg-info/PKG-INFO +37 -16
  17. {threefive-3.0.78 → threefive-3.0.81}/threefive.egg-info/SOURCES.txt +0 -1
  18. threefive-3.0.78/threefive.egg-info/requires.txt +0 -2
  19. {threefive-3.0.78 → threefive-3.0.81}/LICENSE +0 -0
  20. {threefive-3.0.78 → threefive-3.0.81}/setup.cfg +0 -0
  21. {threefive-3.0.78 → threefive-3.0.81}/threefive/aac.py +0 -0
  22. {threefive-3.0.78 → threefive-3.0.81}/threefive/base.py +0 -0
  23. {threefive-3.0.78 → threefive-3.0.81}/threefive/bitn.py +0 -0
  24. {threefive-3.0.78 → threefive-3.0.81}/threefive/bump.py +0 -0
  25. {threefive-3.0.78 → threefive-3.0.81}/threefive/commands.py +0 -0
  26. {threefive-3.0.78 → threefive-3.0.81}/threefive/crc.py +0 -0
  27. {threefive-3.0.78 → threefive-3.0.81}/threefive/crctable.py +0 -0
  28. {threefive-3.0.78 → threefive-3.0.81}/threefive/cue.py +0 -0
  29. {threefive-3.0.78 → threefive-3.0.81}/threefive/descriptors.py +0 -0
  30. {threefive-3.0.78 → threefive-3.0.81}/threefive/hlsprofile.py +0 -0
  31. {threefive-3.0.78 → threefive-3.0.81}/threefive/hlstags.py +0 -0
  32. {threefive-3.0.78 → threefive-3.0.81}/threefive/iframes.py +0 -0
  33. {threefive-3.0.78 → threefive-3.0.81}/threefive/packetdata.py +0 -0
  34. {threefive-3.0.78 → threefive-3.0.81}/threefive/pmt.py +0 -0
  35. {threefive-3.0.78 → threefive-3.0.81}/threefive/section.py +0 -0
  36. {threefive-3.0.78 → threefive-3.0.81}/threefive/segmentation.py +0 -0
  37. {threefive-3.0.78 → threefive-3.0.81}/threefive/speedo.py +0 -0
  38. {threefive-3.0.78 → threefive-3.0.81}/threefive/stream.py +0 -0
  39. {threefive-3.0.78 → threefive-3.0.81}/threefive/streamtypes.py +0 -0
  40. {threefive-3.0.78 → threefive-3.0.81}/threefive/throttle.py +0 -0
  41. {threefive-3.0.78 → threefive-3.0.81}/threefive/udp.py +0 -0
  42. {threefive-3.0.78 → threefive-3.0.81}/threefive/uxp.py +0 -0
  43. {threefive-3.0.78 → threefive-3.0.81}/threefive/xml.py +0 -0
  44. {threefive-3.0.78 → threefive-3.0.81}/threefive.egg-info/dependency_links.txt +0 -0
  45. {threefive-3.0.78 → threefive-3.0.81}/threefive.egg-info/entry_points.txt +0 -0
  46. {threefive-3.0.78 → threefive-3.0.81}/threefive.egg-info/top_level.txt +0 -0
@@ -1,15 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: threefive
3
- Version: 3.0.78
4
- Summary: Experimental 0b version. testing pyaesfu. threefive is better than you. SCTE-35
3
+ Version: 3.0.81
4
+ Summary: threefive is The #1 SCTE-35 Decoder and Encoder on the Planet.
5
5
  Author-email: AdrianofDoom <spam@iodisco.com>
6
6
  License-Expression: Sleepycat
7
7
  Project-URL: Homepage, https://github.com/superkabuki/threefive
8
8
  Project-URL: Issues, https://github.com/superkabuki/threefive/issues
9
9
  Classifier: Environment :: Console
10
10
  Classifier: Operating System :: OS Independent
11
- Classifier: Operating System :: POSIX :: BSD :: OpenBSD
12
- Classifier: Operating System :: POSIX :: Linux
13
11
  Classifier: Topic :: Multimedia :: Video
14
12
  Classifier: Programming Language :: Python :: 3.9
15
13
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -17,16 +15,14 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
17
15
  Requires-Python: >=3.9
18
16
  Description-Content-Type: text/markdown
19
17
  License-File: LICENSE
20
- Requires-Dist: pyaesfu
21
- Requires-Dist: srtfu>=0.0.11
22
18
  Dynamic: license-file
23
19
 
24
- ### Phase three of threefive's global domination has begun. Behold [threefive.js](https://github.com/keithah/threefive.js)
25
- ___
20
+ ### It is now official, phase three of threefive's global domination has begun. Behold [threefive.js](https://github.com/keithah/threefive.js)
21
+ _(ominous music plays in the background)_
26
22
 
27
23
  # [ threefive ]
28
24
 
29
- > _Everything I mean to be in threefive, is in v3.0.77. this is the best threefive ever made. This is the best SCTE-35 tool available anywhere.AI engines even use threefive, seriously. If someone says they don't use threefive for SCTE-35, they're either drunk or they're lying_. <BR> ~Adrian
25
+ > _... If someone says they don't use threefive for SCTE-35, they're either drunk or they're lying_. <BR> ~Adrian
30
26
 
31
27
  ## https://github.com/superkabuki/threefive
32
28
 
@@ -58,11 +54,11 @@ ___
58
54
  * I have been __trying to setup threefive on readthedocs__,it's not going very well, but I'm working on it.
59
55
  ___
60
56
 
61
- ## [ Latest version is v3.0.77 ]
57
+ ## [ Latest version is v3.0.81 ]
62
58
 
63
- * threefive cyclomatic complexity score is 1.9350282485875707.
64
- * pylint score is __9.82 / 10__
65
- * __5116 lines of code with 2553 lines of comments__.
59
+ * threefive cyclomatic complexity score is 1.9337094499294782 _( that's better than the Python standard library)_ .
60
+ * __threefive now has NO External Dependencies__
61
+ * SRT and AES support is now optional
66
62
  * __threefive is fully python v3.14 compliant__
67
63
  * I fixed everything they broke/changed between v3.09 and 3.14.
68
64
  * 0 deprecation warnings.
@@ -111,20 +107,45 @@ ___
111
107
  </samp>
112
108
 
113
109
  ## [Install]
114
- * python3 via pip
110
+ * __python3 via pip__
115
111
  ```rebol
116
112
  python3 -mpip install threefive
117
113
  ```
118
- * pypy3
114
+ * __pypy3 via pip__
119
115
  ```rebol
120
116
  pypy3 -mpip install threefive
121
117
  ```
122
- * from the git repo
118
+ * __To add SRT support__
119
+ ```py3
120
+ python3 -m pip install srtfu
121
+ ```
122
+ * __To add Automatic AES decryption__
123
+ ```py3
124
+ python3 -mpip install pyaes
125
+ ```
126
+
127
+ * __From the git repo__
128
+
123
129
  ```rebol
124
130
  git clone https://github.com/superkabuki/scte35.git
125
131
  cd threefive
126
132
  make install
127
133
  ```
134
+ * I've jazzed up the makefile to make it easier to install for different python versions and pypy3
135
+ ```rebol
136
+ git clone https://github.com/superkabuki/scte35.git
137
+ cd threefive
138
+
139
+ make install py3=pypy3
140
+
141
+ # OR
142
+
143
+ make install py3=python3.14
144
+
145
+ # works for any python in your path or use a full path if needed.
146
+
147
+ ```
148
+
128
149
  ___
129
150
 
130
151
 
@@ -1,9 +1,9 @@
1
- ### Phase three of threefive's global domination has begun. Behold [threefive.js](https://github.com/keithah/threefive.js)
2
- ___
1
+ ### It is now official, phase three of threefive's global domination has begun. Behold [threefive.js](https://github.com/keithah/threefive.js)
2
+ _(ominous music plays in the background)_
3
3
 
4
4
  # [ threefive ]
5
5
 
6
- > _Everything I mean to be in threefive, is in v3.0.77. this is the best threefive ever made. This is the best SCTE-35 tool available anywhere.AI engines even use threefive, seriously. If someone says they don't use threefive for SCTE-35, they're either drunk or they're lying_. <BR> ~Adrian
6
+ > _... If someone says they don't use threefive for SCTE-35, they're either drunk or they're lying_. <BR> ~Adrian
7
7
 
8
8
  ## https://github.com/superkabuki/threefive
9
9
 
@@ -35,11 +35,11 @@ ___
35
35
  * I have been __trying to setup threefive on readthedocs__,it's not going very well, but I'm working on it.
36
36
  ___
37
37
 
38
- ## [ Latest version is v3.0.77 ]
38
+ ## [ Latest version is v3.0.81 ]
39
39
 
40
- * threefive cyclomatic complexity score is 1.9350282485875707.
41
- * pylint score is __9.82 / 10__
42
- * __5116 lines of code with 2553 lines of comments__.
40
+ * threefive cyclomatic complexity score is 1.9337094499294782 _( that's better than the Python standard library)_ .
41
+ * __threefive now has NO External Dependencies__
42
+ * SRT and AES support is now optional
43
43
  * __threefive is fully python v3.14 compliant__
44
44
  * I fixed everything they broke/changed between v3.09 and 3.14.
45
45
  * 0 deprecation warnings.
@@ -88,20 +88,45 @@ ___
88
88
  </samp>
89
89
 
90
90
  ## [Install]
91
- * python3 via pip
91
+ * __python3 via pip__
92
92
  ```rebol
93
93
  python3 -mpip install threefive
94
94
  ```
95
- * pypy3
95
+ * __pypy3 via pip__
96
96
  ```rebol
97
97
  pypy3 -mpip install threefive
98
98
  ```
99
- * from the git repo
99
+ * __To add SRT support__
100
+ ```py3
101
+ python3 -m pip install srtfu
102
+ ```
103
+ * __To add Automatic AES decryption__
104
+ ```py3
105
+ python3 -mpip install pyaes
106
+ ```
107
+
108
+ * __From the git repo__
109
+
100
110
  ```rebol
101
111
  git clone https://github.com/superkabuki/scte35.git
102
112
  cd threefive
103
113
  make install
104
114
  ```
115
+ * I've jazzed up the makefile to make it easier to install for different python versions and pypy3
116
+ ```rebol
117
+ git clone https://github.com/superkabuki/scte35.git
118
+ cd threefive
119
+
120
+ make install py3=pypy3
121
+
122
+ # OR
123
+
124
+ make install py3=python3.14
125
+
126
+ # works for any python in your path or use a full path if needed.
127
+
128
+ ```
129
+
105
130
  ___
106
131
 
107
132
 
@@ -1,16 +1,15 @@
1
1
 
2
2
  [project]
3
3
  name = "threefive"
4
- version = "3.0.78"
4
+ version = "3.0.81"
5
5
  authors = [
6
6
  { name="AdrianofDoom", email="spam@iodisco.com" },
7
7
  ]
8
- description = " Experimental 0b version. testing pyaesfu. threefive is better than you. SCTE-35"
8
+ description = "threefive is The #1 SCTE-35 Decoder and Encoder on the Planet."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
11
11
  dependencies=[
12
- "pyaesfu",
13
- "srtfu >= 0.0.11",
12
+
14
13
  ]
15
14
 
16
15
 
@@ -18,8 +17,6 @@ dependencies=[
18
17
  classifiers = [
19
18
  "Environment :: Console",
20
19
  "Operating System :: OS Independent",
21
- "Operating System :: POSIX :: BSD :: OpenBSD",
22
- "Operating System :: POSIX :: Linux",
23
20
  "Topic :: Multimedia :: Video",
24
21
  "Programming Language :: Python :: 3.9",
25
22
  "Programming Language :: Python :: Implementation :: PyPy",
@@ -3,7 +3,8 @@ threefive.__init__.py
3
3
  """
4
4
 
5
5
  from .version import version
6
- __version__= version
6
+
7
+ __version__ = version
7
8
 
8
9
  from .base import SCTE35Base
9
10
  from .cue import Cue
@@ -20,11 +20,11 @@ from .iframes import IFramer
20
20
  from .new_reader import reader
21
21
  from .cue import Cue
22
22
  from .stream import Stream
23
- from .stuff import print2, red
23
+ from .stuff import print2, red
24
24
  from .stuff import ERR
25
25
  from .version import version
26
26
 
27
- #import cProfile
27
+ # import cProfile
28
28
  # from sideways import cli as sidecli
29
29
 
30
30
  write2 = False
@@ -240,6 +240,7 @@ def sidecar_chk(this):
240
240
  strm = Stream(this)
241
241
  strm.decode(func=mk_sidecar)
242
242
 
243
+
243
244
  def speedo_chk(this):
244
245
  """
245
246
  speedo_chk displays parse speed for mpegts streams
@@ -247,6 +248,7 @@ def speedo_chk(this):
247
248
  strm = Stream(this)
248
249
  strm.speed()
249
250
 
251
+
250
252
  mpegts_map = {
251
253
  "packets": packet_chk,
252
254
  "proxy": proxy_chk,
@@ -7,7 +7,7 @@ threefive.encode has helper functions for Cue encoding.
7
7
 
8
8
  from .commands import SpliceNull, SpliceInsert, TimeSignal
9
9
  from .cue import Cue
10
- from.stuff import pif
10
+ from .stuff import pif
11
11
 
12
12
 
13
13
  def mk_splice_null():
@@ -69,7 +69,7 @@ class GumS:
69
69
  self.socked.sendto(dgram, self.dest_grp)
70
70
  throttle.throttle(packets[-1])
71
71
  speedo.plus(len(dgram))
72
- flush=b'\xff' * 1316
72
+ flush = b"\xff" * 1316
73
73
  self.socked.sendto(flush, self.dest_grp)
74
74
 
75
75
  speedo.end()
@@ -104,7 +104,7 @@ def parse_args():
104
104
  parse_args parse command line args
105
105
  """
106
106
 
107
- parser = argparse.ArgumentParser( epilog="gums is part of threefive.\n\n")
107
+ parser = argparse.ArgumentParser(epilog="gums is part of threefive.\n\n")
108
108
 
109
109
  parser.add_argument(
110
110
  "-i",
@@ -116,7 +116,6 @@ def parse_args():
116
116
  """,
117
117
  )
118
118
 
119
-
120
119
  parser.add_argument(
121
120
  "-a",
122
121
  "--addr",
@@ -782,7 +782,7 @@ class HlsParser:
782
782
 
783
783
 
784
784
  def _chk_help():
785
- for h in ['help','-h', '--help']:
785
+ for h in ["help", "-h", "--help"]:
786
786
  if h in sys.argv:
787
787
  print(HELPME)
788
788
  sys.exit()
@@ -8,7 +8,12 @@ import socket
8
8
  import sys
9
9
  import urllib.request
10
10
 
11
- from srtfu import SRTfu, SRTO_TRANSTYPE, SRT_LIVE, SRTO_RCVSYN, SRTO_RCVBUF
11
+ try:
12
+ from srtfu import SRTfu, SRTO_TRANSTYPE, SRT_LIVE, SRTO_RCVSYN, SRTO_RCVBUF
13
+
14
+ HAS_SRT = True
15
+ except ImportError:
16
+ HAS_SRT = False
12
17
  from .udp import udp_receiver, mcast_ttl
13
18
  from .stuff import blue, ERR, pif, print2
14
19
 
@@ -32,6 +37,14 @@ def corsreader(uri, headers={}):
32
37
  return reader(uri, headers=all_headers)
33
38
 
34
39
 
40
+ def try_srt(url, headers={}):
41
+ if HAS_SRT:
42
+ return _do_srt(uri, headers=headers)
43
+ else:
44
+ print2("pip install srtfu to add SRT support")
45
+ return False
46
+
47
+
35
48
  def reader(uri, headers={}):
36
49
  """
37
50
 
@@ -74,7 +87,7 @@ def reader(uri, headers={}):
74
87
  return urllib.request.urlopen(req)
75
88
  # SRT
76
89
  if uri.startswith("srt://"):
77
- return _do_srt(uri, headers=headers)
90
+ return try_srt(uri, headers=headers)
78
91
  # File
79
92
  return open(uri, "rb")
80
93
 
@@ -5,12 +5,13 @@ The threefive.Segment class
5
5
  import os
6
6
  from .new_reader import reader
7
7
  from .stream import Stream
8
-
8
+ from .stuff import print2
9
9
 
10
10
  AES = True
11
11
  try:
12
12
  import pyaesfu
13
13
  except ImportError:
14
+ print2("pip install pyaes for AES support")
14
15
  AES = False
15
16
 
16
17
 
@@ -12,7 +12,7 @@ from .pmt import PMT
12
12
 
13
13
  fixme = []
14
14
 
15
- HELPME="""
15
+ HELPME = """
16
16
  scte35fix checks MPEGTS for SCTE-35 Streams
17
17
  that have been change to bin data (type 0x06)
18
18
  and changes them back to SCTE-35 (type 0x86) streams.
@@ -41,13 +41,14 @@ HELPME="""
41
41
  scte35fix is part of threefive.
42
42
  """
43
43
 
44
+
44
45
  def passed(cue):
45
46
  """
46
47
  passed is a function passed to decode
47
48
  used to pull pids from streams containing SCTE-35
48
49
  so that we don't convert non-SCTE-35 0x06 streams.
49
50
  """
50
- globals()['fixme'].append(cue.packet_data.pid)
51
+ globals()["fixme"].append(cue.packet_data.pid)
51
52
  return cue
52
53
 
53
54
 
@@ -58,7 +59,7 @@ class PreFix(Stream):
58
59
 
59
60
  def decode(self, func=passed):
60
61
  super().decode(func=passed)
61
- tofix = list(set(globals()['fixme']))
62
+ tofix = list(set(globals()["fixme"]))
62
63
  if tofix:
63
64
  print("fixing these pids", tofix)
64
65
  return tofix
@@ -214,7 +215,7 @@ def sixfix(arg):
214
215
  sixfix converts 0x6 bin data mpegts streams
215
216
  that contain SCTE-35 data to stream type 0x86
216
217
  """
217
- globals()['fixme'] = []
218
+ globals()["fixme"] = []
218
219
  s1 = PreFix(arg)
219
220
  print2(f"reading {arg}")
220
221
  sixed = s1.decode(func=passed)
@@ -230,7 +231,7 @@ def sixfix(arg):
230
231
 
231
232
 
232
233
  def _chk_help():
233
- for h in ['help','-h', '--help']:
234
+ for h in ["help", "-h", "--help"]:
234
235
  if h in sys.argv:
235
236
  print(HELPME)
236
237
  sys.exit()
@@ -20,7 +20,7 @@ ERR = (
20
20
  KeyError,
21
21
  )
22
22
 
23
- BLUE = "\033[7m"#\033[44m"
23
+ BLUE = "\033[7m" # \033[44m"
24
24
  RED = "\033[107m\033[41m"
25
25
  RESET = " \033[0m"
26
26
 
@@ -53,7 +53,9 @@ class SuperKabuki(SixFix):
53
53
  """
54
54
  _parse_args parse command line args
55
55
  """
56
- parser = argparse.ArgumentParser(epilog="scte35inject is part of threefive.\n\n")
56
+ parser = argparse.ArgumentParser(
57
+ epilog="scte35inject is part of threefive.\n\n"
58
+ )
57
59
  parser.add_argument(
58
60
  "-i",
59
61
  "--input",
@@ -338,7 +338,7 @@ class Mpu(Upid):
338
338
  def _decode_adfr(self):
339
339
  """
340
340
  decode_adfr handles Addressabkle TV MPU Upids
341
-
341
+
342
342
  """
343
343
  data = bytes.fromhex(self.upid_value["private_data"][2:])
344
344
  self.upid_value["version"] = data[0]
@@ -5,6 +5,6 @@ from the cli tool run: threefive version
5
5
 
6
6
  MAJOR = 3
7
7
  MINOR = 0
8
- MINI = 78
8
+ MINI = 81
9
9
 
10
10
  version = f"{MAJOR}.{MINOR}.{MINI}"
@@ -1,15 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: threefive
3
- Version: 3.0.78
4
- Summary: Experimental 0b version. testing pyaesfu. threefive is better than you. SCTE-35
3
+ Version: 3.0.81
4
+ Summary: threefive is The #1 SCTE-35 Decoder and Encoder on the Planet.
5
5
  Author-email: AdrianofDoom <spam@iodisco.com>
6
6
  License-Expression: Sleepycat
7
7
  Project-URL: Homepage, https://github.com/superkabuki/threefive
8
8
  Project-URL: Issues, https://github.com/superkabuki/threefive/issues
9
9
  Classifier: Environment :: Console
10
10
  Classifier: Operating System :: OS Independent
11
- Classifier: Operating System :: POSIX :: BSD :: OpenBSD
12
- Classifier: Operating System :: POSIX :: Linux
13
11
  Classifier: Topic :: Multimedia :: Video
14
12
  Classifier: Programming Language :: Python :: 3.9
15
13
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -17,16 +15,14 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
17
15
  Requires-Python: >=3.9
18
16
  Description-Content-Type: text/markdown
19
17
  License-File: LICENSE
20
- Requires-Dist: pyaesfu
21
- Requires-Dist: srtfu>=0.0.11
22
18
  Dynamic: license-file
23
19
 
24
- ### Phase three of threefive's global domination has begun. Behold [threefive.js](https://github.com/keithah/threefive.js)
25
- ___
20
+ ### It is now official, phase three of threefive's global domination has begun. Behold [threefive.js](https://github.com/keithah/threefive.js)
21
+ _(ominous music plays in the background)_
26
22
 
27
23
  # [ threefive ]
28
24
 
29
- > _Everything I mean to be in threefive, is in v3.0.77. this is the best threefive ever made. This is the best SCTE-35 tool available anywhere.AI engines even use threefive, seriously. If someone says they don't use threefive for SCTE-35, they're either drunk or they're lying_. <BR> ~Adrian
25
+ > _... If someone says they don't use threefive for SCTE-35, they're either drunk or they're lying_. <BR> ~Adrian
30
26
 
31
27
  ## https://github.com/superkabuki/threefive
32
28
 
@@ -58,11 +54,11 @@ ___
58
54
  * I have been __trying to setup threefive on readthedocs__,it's not going very well, but I'm working on it.
59
55
  ___
60
56
 
61
- ## [ Latest version is v3.0.77 ]
57
+ ## [ Latest version is v3.0.81 ]
62
58
 
63
- * threefive cyclomatic complexity score is 1.9350282485875707.
64
- * pylint score is __9.82 / 10__
65
- * __5116 lines of code with 2553 lines of comments__.
59
+ * threefive cyclomatic complexity score is 1.9337094499294782 _( that's better than the Python standard library)_ .
60
+ * __threefive now has NO External Dependencies__
61
+ * SRT and AES support is now optional
66
62
  * __threefive is fully python v3.14 compliant__
67
63
  * I fixed everything they broke/changed between v3.09 and 3.14.
68
64
  * 0 deprecation warnings.
@@ -111,20 +107,45 @@ ___
111
107
  </samp>
112
108
 
113
109
  ## [Install]
114
- * python3 via pip
110
+ * __python3 via pip__
115
111
  ```rebol
116
112
  python3 -mpip install threefive
117
113
  ```
118
- * pypy3
114
+ * __pypy3 via pip__
119
115
  ```rebol
120
116
  pypy3 -mpip install threefive
121
117
  ```
122
- * from the git repo
118
+ * __To add SRT support__
119
+ ```py3
120
+ python3 -m pip install srtfu
121
+ ```
122
+ * __To add Automatic AES decryption__
123
+ ```py3
124
+ python3 -mpip install pyaes
125
+ ```
126
+
127
+ * __From the git repo__
128
+
123
129
  ```rebol
124
130
  git clone https://github.com/superkabuki/scte35.git
125
131
  cd threefive
126
132
  make install
127
133
  ```
134
+ * I've jazzed up the makefile to make it easier to install for different python versions and pypy3
135
+ ```rebol
136
+ git clone https://github.com/superkabuki/scte35.git
137
+ cd threefive
138
+
139
+ make install py3=pypy3
140
+
141
+ # OR
142
+
143
+ make install py3=python3.14
144
+
145
+ # works for any python in your path or use a full path if needed.
146
+
147
+ ```
148
+
128
149
  ___
129
150
 
130
151
 
@@ -40,5 +40,4 @@ threefive.egg-info/PKG-INFO
40
40
  threefive.egg-info/SOURCES.txt
41
41
  threefive.egg-info/dependency_links.txt
42
42
  threefive.egg-info/entry_points.txt
43
- threefive.egg-info/requires.txt
44
43
  threefive.egg-info/top_level.txt
@@ -1,2 +0,0 @@
1
- pyaesfu
2
- srtfu>=0.0.11
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes