2024-06-29T11:04:36,943 Created temporary directory: /tmp/pip-build-tracker-55mjaxgi 2024-06-29T11:04:36,944 Initialized build tracking at /tmp/pip-build-tracker-55mjaxgi 2024-06-29T11:04:36,945 Created build tracker: /tmp/pip-build-tracker-55mjaxgi 2024-06-29T11:04:36,945 Entered build tracker: /tmp/pip-build-tracker-55mjaxgi 2024-06-29T11:04:36,946 Created temporary directory: /tmp/pip-wheel-flqy8bej 2024-06-29T11:04:36,949 Created temporary directory: /tmp/pip-ephem-wheel-cache-_minadjx 2024-06-29T11:04:36,972 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2024-06-29T11:04:36,975 2 location(s) to search for versions of mdpw: 2024-06-29T11:04:36,975 * https://pypi.org/simple/mdpw/ 2024-06-29T11:04:36,975 * https://www.piwheels.org/simple/mdpw/ 2024-06-29T11:04:36,976 Fetching project page and analyzing links: https://pypi.org/simple/mdpw/ 2024-06-29T11:04:36,977 Getting page https://pypi.org/simple/mdpw/ 2024-06-29T11:04:36,978 Found index url https://pypi.org/simple/ 2024-06-29T11:04:37,189 Fetched page https://pypi.org/simple/mdpw/ as application/vnd.pypi.simple.v1+json 2024-06-29T11:04:37,191 Skipping link: No binaries permitted for mdpw: https://files.pythonhosted.org/packages/db/ce/de06092625a0d8b42b8af775d1a6aed45f2b27a03f7329fc1990ea0f506a/mdpw-0.0.1-py3-none-any.whl (from https://pypi.org/simple/mdpw/) 2024-06-29T11:04:37,191 Skipping link: No binaries permitted for mdpw: https://files.pythonhosted.org/packages/48/77/91ecbaf3b7b4b2cc67c05f5b2a4b1c5b028dbc481c5715700ee016b8af9a/mdpw-0.0.2-py3-none-any.whl (from https://pypi.org/simple/mdpw/) 2024-06-29T11:04:37,192 Found link https://files.pythonhosted.org/packages/98/90/9b490551e6796c61fcf97203a80111246630e4330ed3198c5314c3cc560e/mdpw-0.0.2.tar.gz (from https://pypi.org/simple/mdpw/), version: 0.0.2 2024-06-29T11:04:37,193 Skipping link: No binaries permitted for mdpw: https://files.pythonhosted.org/packages/bb/0a/bee4dc581ffc6009b22e0337af4abead794493f1cbbdef2bd13b824a6bd9/mdpw-0.0.3-py3-none-any.whl (from https://pypi.org/simple/mdpw/) 2024-06-29T11:04:37,193 Found link https://files.pythonhosted.org/packages/a9/40/862612ce80fe9dc13c9ac9858308092b9353c8bc45614fd84d179a3c11e5/mdpw-0.0.3.tar.gz (from https://pypi.org/simple/mdpw/), version: 0.0.3 2024-06-29T11:04:37,194 Fetching project page and analyzing links: https://www.piwheels.org/simple/mdpw/ 2024-06-29T11:04:37,195 Getting page https://www.piwheels.org/simple/mdpw/ 2024-06-29T11:04:37,196 Found index url https://www.piwheels.org/simple/ 2024-06-29T11:04:37,424 Fetched page https://www.piwheels.org/simple/mdpw/ as text/html 2024-06-29T11:04:37,426 Skipping link: No binaries permitted for mdpw: https://www.piwheels.org/simple/mdpw/mdpw-0.0.2-py3-none-any.whl#sha256=6bd43f99cb3e2bd82cee4775b41f8b22fcd7efa925d2aa39c0ed67176d6fd5ac (from https://www.piwheels.org/simple/mdpw/) 2024-06-29T11:04:37,427 Skipping link: not a file: https://www.piwheels.org/simple/mdpw/ 2024-06-29T11:04:37,427 Skipping link: not a file: https://pypi.org/simple/mdpw/ 2024-06-29T11:04:37,447 Given no hashes to check 1 links for project 'mdpw': discarding no candidates 2024-06-29T11:04:37,472 Collecting mdpw==0.0.3 2024-06-29T11:04:37,475 Created temporary directory: /tmp/pip-unpack-l765zf61 2024-06-29T11:04:37,716 Downloading mdpw-0.0.3.tar.gz (5.3 kB) 2024-06-29T11:04:37,744 Added mdpw==0.0.3 from https://files.pythonhosted.org/packages/a9/40/862612ce80fe9dc13c9ac9858308092b9353c8bc45614fd84d179a3c11e5/mdpw-0.0.3.tar.gz to build tracker '/tmp/pip-build-tracker-55mjaxgi' 2024-06-29T11:04:37,745 Running setup.py (path:/tmp/pip-wheel-flqy8bej/mdpw_61856050af8d4f3db2117482f30e4804/setup.py) egg_info for package mdpw 2024-06-29T11:04:37,746 Created temporary directory: /tmp/pip-pip-egg-info-8za3sw7b 2024-06-29T11:04:37,747 Preparing metadata (setup.py): started 2024-06-29T11:04:37,748 Running command python setup.py egg_info 2024-06-29T11:04:38,203 Traceback (most recent call last): 2024-06-29T11:04:38,204 File "", line 2, in 2024-06-29T11:04:38,204 File "", line 34, in 2024-06-29T11:04:38,205 File "/tmp/pip-wheel-flqy8bej/mdpw_61856050af8d4f3db2117482f30e4804/setup.py", line 45, in 2024-06-29T11:04:38,206 tests_require=_test_requirements(), 2024-06-29T11:04:38,207 ^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,208 File "/tmp/pip-wheel-flqy8bej/mdpw_61856050af8d4f3db2117482f30e4804/setup.py", line 17, in _test_requirements 2024-06-29T11:04:38,209 return [name.rstrip() for name in open(path.join(root_dir, 'test-requirements.txt')).readlines()] 2024-06-29T11:04:38,210 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,210 File "", line 906, in open 2024-06-29T11:04:38,211 FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-wheel-flqy8bej/mdpw_61856050af8d4f3db2117482f30e4804/test-requirements.txt' 2024-06-29T11:04:38,212 MDPW 2024-06-29T11:04:38,212 ==== 2024-06-29T11:04:38,213 This package generates a PrettyMIDI object from Array of Array. 2024-06-29T11:04:38,214 Here is a sample code. 2024-06-29T11:04:38,214 :: 2024-06-29T11:04:38,216 import mdpw 2024-06-29T11:04:38,216 a = ['s',['n',64,1,64,1],['n',68,1,64,1],['n',71,1,64,1], 2024-06-29T11:04:38,217 ['c',['n',64,1,64,1],['n',68,1,64,1],['n',71,1,64,1]]] 2024-06-29T11:04:38,218 mdpw.compile(a, 120).write("hello.mid") 2024-06-29T11:04:38,220 'n' means a note and followed values are pitch, duration, velocity and instrument. The instrument 129 means Drum. 2024-06-29T11:04:38,220 's' means to play sequentially and 'c' means to play simultaneously. 2024-06-29T11:04:38,222 Here is anther sample code. 2024-06-29T11:04:38,223 :: 2024-06-29T11:04:38,225 from mdpw import INSTRUMENTS as I 2024-06-29T11:04:38,226 from mdpw import DRUMS as D 2024-06-29T11:04:38,227 from mdpw import note, seq, chord, compile 2024-06-29T11:04:38,228 dph = D['PedalHi-Hat'] 2024-06-29T11:04:38,229 i = I['Drum'] 2024-06-29T11:04:38,230 hh = ['s',['n',dph,1,127,i],['n',dph,1],['n',dph,1],['n',dph,1]] 2024-06-29T11:04:38,231 b = seq(note(64,.5,0,I['ElectricBassPick']),note(64,1,127),note(64,1),note(64,1)) 2024-06-29T11:04:38,232 m = chord(seq(hh,hh,hh,hh),seq(b,b,b,b)) 2024-06-29T11:04:38,232 compile(m, 120).write("sample.mid") 2024-06-29T11:04:38,234 In fact, the functions 'note', 'seq', 'chord' return arrays. 2024-06-29T11:04:38,236 You can generate a round chant like this: 2024-06-29T11:04:38,237 :: 2024-06-29T11:04:38,239 import mdpw 2024-06-29T11:04:38,240 from mdpw import note as n 2024-06-29T11:04:38,240 from mdpw import seq as s 2024-06-29T11:04:38,241 from mdpw import chord as c 2024-06-29T11:04:38,242 from mdpw import compile 2024-06-29T11:04:38,244 m0 = s(n(64,1,64,17), n(66), n(68), n(69), n(68),n(66),n(64),n(0,1,0)) 2024-06-29T11:04:38,244 m01 = s(n(64,.5,64,17),n(64), n(66), n(66), n(68),n(68), n(69),n(69), n(68),n(68),n(66),n(66),n(64,1),n(0,1,0)) 2024-06-29T11:04:38,245 m1 = s(n(68,1,64,17), n(69), n(71), n(73), n(71),n(69),n(68),n(0,1,0)) 2024-06-29T11:04:38,246 m2 = s(n(64,2,125,17), n(64), n(64), n(64)) 2024-06-29T11:04:38,246 a = s(m0, m1, m2,m01) 2024-06-29T11:04:38,247 r = n(0,8,0,1) 2024-06-29T11:04:38,248 a =c(a, s(r, a), s(r, r, a)) 2024-06-29T11:04:38,249 mdpw.compile(a, 120).write("frog.mid") 2024-06-29T11:04:38,291 ERROR: python setup.py egg_info exited with 1 2024-06-29T11:04:38,304 [bold magenta]full command[/]: [blue]/usr/bin/python3 -c ' 2024-06-29T11:04:38,304 exec(compile('"'"''"'"''"'"' 2024-06-29T11:04:38,304 # This is -- a caller that pip uses to run setup.py 2024-06-29T11:04:38,304 # 2024-06-29T11:04:38,304 # - It imports setuptools before invoking setup.py, to enable projects that directly 2024-06-29T11:04:38,304 # import from `distutils.core` to work with newer packaging standards. 2024-06-29T11:04:38,304 # - It provides a clear error message when setuptools is not installed. 2024-06-29T11:04:38,304 # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so 2024-06-29T11:04:38,304 # setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning: 2024-06-29T11:04:38,304 # manifest_maker: standard file '"'"'-c'"'"' not found". 2024-06-29T11:04:38,304 # - It generates a shim setup.py, for handling setup.cfg-only projects. 2024-06-29T11:04:38,304 import os, sys, tokenize 2024-06-29T11:04:38,304 2024-06-29T11:04:38,304 try: 2024-06-29T11:04:38,304 import setuptools 2024-06-29T11:04:38,304 except ImportError as error: 2024-06-29T11:04:38,304 print( 2024-06-29T11:04:38,304 "ERROR: Can not execute `setup.py` since setuptools is not available in " 2024-06-29T11:04:38,304 "the build environment.", 2024-06-29T11:04:38,304 file=sys.stderr, 2024-06-29T11:04:38,304 ) 2024-06-29T11:04:38,304 sys.exit(1) 2024-06-29T11:04:38,304 2024-06-29T11:04:38,304 __file__ = %r 2024-06-29T11:04:38,304 sys.argv[0] = __file__ 2024-06-29T11:04:38,304 2024-06-29T11:04:38,304 if os.path.exists(__file__): 2024-06-29T11:04:38,304 filename = __file__ 2024-06-29T11:04:38,304 with tokenize.open(__file__) as f: 2024-06-29T11:04:38,304 setup_py_code = f.read() 2024-06-29T11:04:38,304 else: 2024-06-29T11:04:38,304 filename = "" 2024-06-29T11:04:38,304 setup_py_code = "from setuptools import setup; setup()" 2024-06-29T11:04:38,304 2024-06-29T11:04:38,304 exec(compile(setup_py_code, filename, "exec")) 2024-06-29T11:04:38,304 '"'"''"'"''"'"' % ('"'"'/tmp/pip-wheel-flqy8bej/mdpw_61856050af8d4f3db2117482f30e4804/setup.py'"'"',), "", "exec"))' egg_info --egg-base /tmp/pip-pip-egg-info-8za3sw7b[/] 2024-06-29T11:04:38,305 [bold magenta]cwd[/]: /tmp/pip-wheel-flqy8bej/mdpw_61856050af8d4f3db2117482f30e4804/ 2024-06-29T11:04:38,306 Preparing metadata (setup.py): finished with status 'error' 2024-06-29T11:04:38,307 ERROR: metadata generation failed 2024-06-29T11:04:38,313 Exception information: 2024-06-29T11:04:38,313 Traceback (most recent call last): 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 64, in generate_metadata 2024-06-29T11:04:38,313 call_subprocess( 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/utils/subprocess.py", line 224, in call_subprocess 2024-06-29T11:04:38,313 raise error 2024-06-29T11:04:38,313 pip._internal.exceptions.InstallationSubprocessError: python setup.py egg_info exited with 1 2024-06-29T11:04:38,313 2024-06-29T11:04:38,313 The above exception was the direct cause of the following exception: 2024-06-29T11:04:38,313 2024-06-29T11:04:38,313 Traceback (most recent call last): 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/base_command.py", line 180, in exc_logging_wrapper 2024-06-29T11:04:38,313 status = run_func(*args) 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/cli/req_command.py", line 245, in wrapper 2024-06-29T11:04:38,313 return func(self, options, args) 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/commands/wheel.py", line 147, in run 2024-06-29T11:04:38,313 requirement_set = resolver.resolve(reqs, check_supported_wheels=True) 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/resolver.py", line 95, in resolve 2024-06-29T11:04:38,313 result = self._result = resolver.resolve( 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 546, in resolve 2024-06-29T11:04:38,313 state = resolution.resolve(requirements, max_rounds=max_rounds) 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 397, in resolve 2024-06-29T11:04:38,313 self._add_to_criteria(self.state.criteria, r, parent=None) 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/resolvers.py", line 173, in _add_to_criteria 2024-06-29T11:04:38,313 if not criterion.candidates: 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_vendor/resolvelib/structs.py", line 156, in __bool__ 2024-06-29T11:04:38,313 return bool(self._sequence) 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 155, in __bool__ 2024-06-29T11:04:38,313 return any(self) 2024-06-29T11:04:38,313 ^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 143, in 2024-06-29T11:04:38,313 return (c for c in iterator if id(c) not in self._incompatible_ids) 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/found_candidates.py", line 47, in _iter_built 2024-06-29T11:04:38,313 candidate = func() 2024-06-29T11:04:38,313 ^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 182, in _make_candidate_from_link 2024-06-29T11:04:38,313 base: Optional[BaseCandidate] = self._make_base_candidate_from_link( 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/factory.py", line 228, in _make_base_candidate_from_link 2024-06-29T11:04:38,313 self._link_candidate_cache[link] = LinkCandidate( 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 290, in __init__ 2024-06-29T11:04:38,313 super().__init__( 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 156, in __init__ 2024-06-29T11:04:38,313 self.dist = self._prepare() 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 222, in _prepare 2024-06-29T11:04:38,313 dist = self._prepare_distribution() 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/resolution/resolvelib/candidates.py", line 301, in _prepare_distribution 2024-06-29T11:04:38,313 return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 525, in prepare_linked_requirement 2024-06-29T11:04:38,313 return self._prepare_linked_requirement(req, parallel_builds) 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 640, in _prepare_linked_requirement 2024-06-29T11:04:38,313 dist = _get_prepared_distribution( 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/prepare.py", line 71, in _get_prepared_distribution 2024-06-29T11:04:38,313 abstract_dist.prepare_distribution_metadata( 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/distributions/sdist.py", line 67, in prepare_distribution_metadata 2024-06-29T11:04:38,313 self.req.prepare_metadata() 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/req/req_install.py", line 585, in prepare_metadata 2024-06-29T11:04:38,313 self.metadata_directory = generate_metadata_legacy( 2024-06-29T11:04:38,313 ^^^^^^^^^^^^^^^^^^^^^^^^^ 2024-06-29T11:04:38,313 File "/usr/local/lib/python3.11/dist-packages/pip/_internal/operations/build/metadata_legacy.py", line 71, in generate_metadata 2024-06-29T11:04:38,313 raise MetadataGenerationFailed(package_details=details) from error 2024-06-29T11:04:38,313 pip._internal.exceptions.MetadataGenerationFailed: metadata generation failed 2024-06-29T11:04:38,327 Removed mdpw==0.0.3 from https://files.pythonhosted.org/packages/a9/40/862612ce80fe9dc13c9ac9858308092b9353c8bc45614fd84d179a3c11e5/mdpw-0.0.3.tar.gz from build tracker '/tmp/pip-build-tracker-55mjaxgi' 2024-06-29T11:04:38,328 Removed build tracker: '/tmp/pip-build-tracker-55mjaxgi'