-
build: Bump package version (
08cd3f5
) -
build: Export updated requirements.txt (
88f980b
) -
build: Export updated requirements.txt (
5733bbc
)
- chore: gitignore user config toml (
5842d52
)
- docs: Update README
Remove new TOML support from roadmap, added to features, updated issue link to PR link (ebcc818
)
-
fix: Broken module import paths (
6461cd5
) -
fix: Broken module import paths (
242eb31
) -
fix: Broken dependency (
41a2501
)
- chore: [pre-commit.ci] automatic update (#259)
updates:
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (e92b4a9
)
-
fix: Incorrect definition of 'linked' (
70c3c03
) -
fix: Inverted offline logic (
1ce6aa5
) -
fix(settings): Settings priority issues
Some settings had incorrect keys and were pulling defaults from the pydantic defaults. I removed the defaults from Pydantic for better config/code seperation.
Some settings were renamed to more accurately reflect their purpose, leading to some breaking changes in configuration. Unfortunately, if a user attempted to change the settings with incorrect keys, they were ineffective anyway.
Although technically a breaking change, will treat this as semver minor
bump. The version constraints are still set to respect semver minor
changes as incompatible. (b11c5de
)
-
refactor(newest_linkable): Improve readability (
1651bc2
) -
refactor: Rename ambiguous 'managed_proxy_status' (
d36c168
) -
refactor(batch): Improve readability
- De-nesting
- More comments
- Exit early
- More debug logs (
ea5afa4
)
-
refactor: Disambiguate 'already linked' usage (
6c14851
) -
refactor: Disambiguate 'already linked' usage (
f356fd0
)
- Merge pull request #268 from in03/bugfix/266/detecting-proxy-status-none-as-offline (
2f3ac3a
)
- refactor: SettingsManager with TOML and better practices (#258) (
89a8fa4
)
- fix(build): Typed git vars were unassigned (
ad53709
)
- Merge branch 'main' of https://github.com/in03/proxima into main (
7de8196
)
- fix: isort broke fragile init imports (
e227ac2
)
- Merge branch 'main' of https://github.com/in03/proxima into main (
b783acc
)
-
chore: [pre-commit.ci] automatic update (#253)
-
chore: [pre-commit.ci] automatic update
updates:
- chore: [pre-commit.ci] automatic fixes
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (f96d749
)
-
ci: Disable flake8 for now (
a45a458
) -
ci: Add flake8 (
06440e6
) -
ci: Add isort, flake8 to precommit (
95691cc
) -
ci: Enable upload to PyPi (
f7b6a53
)
- refactor: Remove unused statement (
0b14889
)
-
Merge branch 'main' of https://github.com/in03/proxima into main (
128023e
) -
Merge branch 'main' of https://github.com/in03/proxima into main (
9412554
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
232e0ba
)
-
build: Export updated requirements.txt (
825d736
) -
build: Using official notify-py again (
af61774
) -
build(deps): bump setuptools from 65.3.0 to 65.5.1 (#243)
Bumps setuptools from 65.3.0 to 65.5.1.
updated-dependencies:
- dependency-name: setuptools dependency-type: indirect ...
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (31a5cfe
)
- build: Add python-semantic-release as Poetry dependency (
5a83136
)
- chore: [pre-commit.ci] automatic update (#236)
updates:
- github.com/commitizen-tools/commitizen: v2.35.0 → v2.40.0
- github.com/psf/black: 22.10.0 → 22.12.0
- github.com/pre-commit/pre-commit-hooks: v4.3.0 → v4.4.0
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (cb74425
)
-
ci: Change to sem-rel GH action (
6b92166
) -
ci: Add repo and pypi secrets for auto-release (
0db66ea
) -
ci: Ensure full git history (
8c1faed
) -
ci: Prevent simultaneous releases (
ea26666
)
- docs: Update README.md (
7a49fd7
)
- fix: Package path was using PWD! (
4b2972d
)
-
refactor: VC key as environment variable (
b349a25
) -
refactor: More robust version constraint key (
5b020de
)
- style: flake8 f541 (
d0b29c1
)
-
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
9fb3650
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
983f712
)
-
build: Manually bump version for first major release (
2661661
) -
build: Export updated requirements.txt (
c744932
) -
build: Export updated requirements.txt (
c5e84be
) -
build: Make docs optional (
39ee9ce
) -
build: Export updated requirements.txt (
289504b
) -
build: Export updated requirements.txt (
ccef3ef
) -
build: Export updated requirements.txt (
5be21b6
) -
build: Export updated requirements.txt (
f63bb5c
) -
build(poetry): Add vc key to poetry include section
Forgot to explicitly include version_constraint_key when Poetry builds.
The file is not pulled into the installation when built with pip or pipx
without being explicitly included. (fb45d79
)
- build(poetry): remove unused merge_args dev dependency (
e884f30
)
-
chore: Add FUNDING.yml (
c846285
) -
chore: [pre-commit.ci] automatic update (#230)
-
chore: [pre-commit.ci] automatic update
updates:
- build: Export updated requirements.txt
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <pre-commit-ci[bot]@users.noreply.github.com> (1d735bf
)
-
chore: [pre-commit.ci] automatic update (#188)
-
chore: [pre-commit.ci] automatic update
updates:
- github.com/commitizen-tools/commitizen: v2.27.1 → v2.35.0
- github.com/psf/black: 22.3.0 → 22.8.0
- github.com/pre-commit/pre-commit-hooks: v4.1.0 → v4.3.0
-
refactor: Update version_constraint_key
-
refactor: Update version_constraint_key
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Caleb Trevatt <[email protected]> (c68ef3c
)
-
chore: Remove old dependencies (
0ed55e3
) -
chore: Merge branch 'main' (
618ba2b
) -
chore(pycache): remove ignorables
Accidentally committed __pycache__ .pyc
files somehow. (587d320
)
- chore: rollback pre-commit to 4.1.0
precommit 4.2.0 drops Python 3.6 support.
Will need to migrate to 3.7 or above soon but must be switch to Resolve
18 for >3.6 support. Drops compatability with all 17 users. Need a final
17 release first. (0c190b2
)
- chore: [pre-commit.ci] automatic update (#90)
updates:
- github.com/pre-commit/pre-commit-hooks: v4.1.0 → v4.2.0
- github.com/pre-commit/pre-commit-hooks: v4.1.0 → v4.2.0
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (c3ae387
)
-
chore: alter pre-commit CI msg to pass semantic-PR CI (
999d14e
) -
chore: attempt to trigger TODO-to-issues CI action (
dab5839
) -
chore: remove TODOs AGAIN to trigger gh issues (
81a978e
) -
chore: Recommit TODOs to trigger gh action (
b20eb50
) -
chore: hide TODOs for recommit to trigger action (
d7d895e
) -
chore: Add TODOs to generate issues in github
- Fix pywin32 dependency error, set gh runner to Windows
- Delete duplicate gh-action workflow (
890a60e
)
-
ci(semantic-release): Bump poetry version (
fbf2b3f
) -
ci: Pin python-semantic-release version (
5e720b4
) -
ci: Change branch name for release criteria (
2187ce2
) -
ci: Remove flake8 and pytest for now (
c31f7f2
) -
ci: Add flake8 (
6e62725
) -
ci: Attempt fix poetry config error (
73fe9bf
) -
ci: Remove large file check (
9d38a48
) -
ci(issues): fix GH action trigger (
59e2026
) -
ci(issues): Moved action config to correct file
Created issue-branch.yml file in .github directory.
Configuration for create-issue-branch action isn't supposed to be in the
workflow file itself. (8ac21b5
)
-
ci(issues): Fix indentation parsing error (
67ea1b8
) -
ci(issues): Fixed indentation error (
117f13a
) -
ci: Fix syntax error in CIB (#183)
-
ci(issues): Add GH action 'Create Issue Branch'
More testing needed!
-
refactor: Update version_constraint_key
-
ci(issues): Fix syntax error in CIB
Forgot 'uses:'...
-
refactor: Update version_constraint_key
-
refactor: Update version_constraint_key (
809c7db
) -
ci(requirements.txt): Make check pass if no change
Also now only runs on pushes, not pull-requests. (8f242d9
)
-
ci: Fix broken export-requirements GitHub action (#170)
-
ci: export requirements.txt on each push
- Added export requirements action
- Renamed workflow yaml files to fit perceived scopes and be consistent
- ci: fix invalid yaml, separate ci jobs
Renamed CI workflow files yet again. Something wrong with formatting. One job per file seems tidy enough.
-
refactor: Update version-constraint key
-
ci: fix requirements.txt not being pushed to repo
Action didn't include commit and push steps so file wasn't persisting.
-
refactor: Update version-constraint key
-
refactor: Update version-constraint key
-
ci: fix syntax error in export-requirements action
Missing dash.... Gosh!
-
refactor: Update version-constraint key
-
refactor: Update version-constraint key
Co-authored-by: Update VC-key Action <[email protected]> (d36a48e
)
-
ci: Fix requirements.txt not being pushed to repo (#169)
-
ci: export requirements.txt on each push
- Added export requirements action
- Renamed workflow yaml files to fit perceived scopes and be consistent
- ci: fix invalid yaml, separate ci jobs
Renamed CI workflow files yet again. Something wrong with formatting. One job per file seems tidy enough.
-
refactor: Update version-constraint key
-
ci: fix requirements.txt not being pushed to repo
Action didn't include commit and push steps so file wasn't persisting.
-
refactor: Update version-constraint key
-
refactor: Update version-constraint key
Co-authored-by: Update VC-key Action <[email protected]> (27cf226
)
- ci: Export requirements.txt on build (#168) (
8bd6c63
)
-
docs: Add semantic-release badge (
ff4e59e
) -
docs: Fix mkdocs.yml (
63d30b3
) -
docs: Remove 'termynal' plugin (
450710e
) -
docs: Fix mkdocs.yml (
04943dc
) -
docs(job): Logger precision of language (
1a7f1c7
) -
docs: Add roadmap and philosophy (
b6470c1
) -
docs: Update README.md (
3509175
) -
docs: Update landing page (
b268d3d
) -
docs: Update README.md
Initial updates to match new documentation on GitHub pages (23fd29e
)
-
docs: Improve landing page (
43bf724
) -
docs: Update README.md
Add documentation link (51b6c1c
)
- Added badges
- Added basic UI demo GIF
- Added warning callouts
- Added contribution guide link
- Addressed Blackmagic Proxy Generator
- Added sections detailing existing features and features to come
- Restyled some sections
- Updated old configuration references (
9f5aa99
)
- docs(README): add demo gifs (
192b9d6
)
-
feat: support-semver-version-constraint (#251) (
354523a
) -
feat(checks): Start support for busy-worker metrics (
18431a7
) -
feat: Extend rerender offline prompt (#232) (
0407b58
) -
feat: Redis PubSub for Queuer side progress (#225)
-
Create draft PR for #224
-
feat(link): Add exception info if all fail link
-
refactor: Group ID as Redis channel ID
-
refactor: Update version_constraint_key
-
refactor: MVP Redis PubSub
-
refactor: Update version_constraint_key
-
refactor: Tidy deeply nested modules
-
refactor: Update version_constraint_key
-
fix: Remove new data flag, recalc every loop
Now just calculating progress and task info every iteration of the loop instead of checking new data flags. It looks like there may be a race condition of some sort causing inaccurate worker numbers.
I might consider thread locks if they work with Redis' pubsub run_in_thread.
-
refactor: Update version_constraint_key
-
refactor: Dropped direct Redis usage altogether
Alright, this is kind of funny. Turns out I've been reinventing the wheel this whole time. Celery's GroupResult contains AsyncResult instances with all the data we need to get active worker count, task completion and task encoding progress (with a custom task state definition).
So:
- dropped Redis database polling
- dropped Redis PubSub
- use unique worker IDs instead of sequential prefix to easily start additional workers at any time
-
refactor: Update version_constraint_key
-
docs: Update README.md
-
build: Export updated requirements.txt
-
refactor: Update version_constraint_key
Co-authored-by: in03 <[email protected]> (f75e167
)
-
feat: Rebrand to Proxima (#211)
-
Create draft PR for #210
-
feat(cli): Major app changes
- Rebranded "Resolve Proxy Encoder" as "Proxima"
- Changed CLI entrypoint from "rprox" to "proxima"
- Added full Celery sub command support
-
refactor(figlet): Delete unused figlet font
-
refactor: Rename all old names across files
-
refactor: Update version_constraint_key
-
docs(README): New features
- Cross off completed features
- Add features and enhancements to roadmap
- Reflect name change
- Warn dropped support for brokers other than Redis
-
refactor: Update version_constraint_key
-
docs(README): Grammar
-
refactor: Update version_constraint_key (
2ccae65
) -
feat: Queuer-side progress indication (#190)
Some refinements and performance improvements are likely needed, but this is good enough to be merged into main. (4928568
)
-
feat: Add "create issue branch" GH action (#181)
-
ci(issues): Add GH action 'Create Issue Branch'
More testing needed!
-
refactor: Update version_constraint_key (
c3df49b
) -
feat: Improve version constraining (#165)
-
ci: Add GH action to create queue-id file
-
ci: test queue-id action
-
ci: fix broken git push ref
-
ci: Update Queue-ID file
-
ci: terminology change - 'version-constraint key'
Using 'version-constraint key' instead of 'queue-id' to be more descriptive. Celery terminology is already opaque to end users, i.e. 'routing-key' vs 'queue'. Queue is both a noun and a verb, and refers to both Celery's queue name that receives queued tasks as well as the act of queuing them.
- ci: Fix incorrect variable name
File was being written with "" as key, since variable reference was wrong.
-
fix: Force overwrite since file name is different
-
refactor: Update version-constraint key
-
fix: Unnecessary echo in version_constraint_key
-
refactor: Update version-constraint key
-
feat: implement mnemonic version constrain key
-
moved hefty imports to CLI sub-commands for faster loading time and quicker UI responsiveness
-
queuer checks other workers compatibility against its own
version_constraint_key
file
TODO:
-
get worker queue name from
version_constraint_key
file, otherwise all locally workers will still be using git-sha mechanism, including self. -
implement
--hide_banner
option globally with Typer -
implement
RPROX_HIDE_BANNER
environment variable -
further test version collision probability
-
refactor: Update version-constraint key
-
fix: remove unnecessary insecure serialization protocols
-
feat(launch_workers.py): worker use new version constraint key
-
refactor(launch_workers.py): logging queue-name reflect term change
Still in a bit of a weird place with terminology here. We have queue
, version constraint key
and routing key
. The choice to refer to the name of the queue as version constraint key
better reflects application usage and user expectations. "Queue" on its own is both a noun and a verb and we already use the term to describe a module and the process of "queuing" proxies. Some additional terminology changes in code may be necessary at a later date.
-
refactor: Update version-constraint key
-
refactor: Update version-constraint key
Co-authored-by: Update-Queue-ID <[email protected]> Co-authored-by: Update VC-key Action <[email protected]>
pre-commit.ci autofix (b4b22fc
)
- feat: add commitizen support (#164)
Implements #162
:sunglasses: :+1: (10554c8
)
- feat: merge misc enhancements from feat/issue-9
BREAKING CHANGES
Merged some enhancements from: 4eaaf02ec3f66143f5d871d81ebe332d94b537c8 b9d9a357f30dd8cbfc7f77644c53997f7cb4a580
Namely:
- relative imports where possible
- maintain source aspect ratio, match user set vertical resolution
- inherit timecode from Resolve clip attributes, no probing file
Since YouTour's camera config change, timecode issues were preventing proxies from linking.
Excluded any chunked-encoding development. (572810e
)
-
feat: started work on chunking on queuer-side (
e800d31
) -
feat: start split and stitch integration (
1dd2062
) -
feat: Feature/issue 48 (#66)
-
fix: stop spinners from breaking console logging
Bit of a verbose solution that could do with some refinement, but works. Adresses #42
-
chore: delete todos, close issues
-
fix: Improve worker console progress output
- Modified
better_ffmpeg_progress
source code instead of import - Using
rich
now instead ofbetter_ffmpeg_progress
tqdm
handler - Delete broken CI workflow. Will fix later. Unresolvable dependencies.
Addresses #48
- feat: add app settings, improve console output
- Add logfile path, disable version constrain, check for updates
- Improve console spinner behaviour, icons, etc.
- Improve console logging
- Add
--without-gossip
and--without-mingle
toworker_celery_args
indefault_settings.yml
.
BREAKING CHANGE: some settings renamed and moved! Recommend re-initialising user config.
Address #42 and #48 (507102a
)
-
feat: Add queuer/worker compatibility check (#40)
-
initial dev versioning detection
-
Started on github commit query
-
Added git based update checking
-
Add versioning detection when not package
-
FIX: Merge from main, start worker compat testing
-
FIX: Catch timeout when calling GitHub API
-
FEAT: Queuer/Worker version mismatch warning working
-
Moved worker check to CLI queue cmd, better logging
-
feat: Add setting to bypass worker compat check
- Fix notify function in helpers
- Fix
worker_use_win_terminal
setting
- docs: Update README
- Recommend pipx to deal with dependency conflicts
- Explain potential issues with running Python 3.6
- [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (f635cee
)
- fix(BuildInfo): Incorrect version import
BuildInfo was pulling the verison number from site-package's distinfo.
Running from git would yield the system installed version and if not
installed, would throw an error. (100e006
)
-
fix(job): Incorrect loglevel (
b90ade1
) -
fix: Including vc key incorrectly (
c323d60
) -
fix: Pushing vc key to wrong path (
7637170
) -
fix: Broken build_info check (
713e6ad
) -
fix: Broken vc_key resolution (
de4440a
) -
fix: Broken vc_key resolution (
caf7998
) -
fix: Version constraint file path inconsistency
We were relying implicitly on the VC file path-depth matching between different package installation methods. Moving the source a src subfolder broke the VC key file path resolution for URL/release installs.
This should be fixed with a more robust path-matching solution at some
point. (93c8195
)
-
fix: Output directory never created (
60e2762
) -
fix: Regex criteria applied incorrectly to file extension instead of name (
dcef3fb
) -
fix(job): Allow modifying 'is_offline' property (
a98f56b
) -
fix: Set existing media 'online', prevent offline handler handling (
6ba72b0
) -
fix(tasks): Parsing color data in_range incorrectly (
88d3009
) -
fix(batch): Re-render mitmatch_fail queues twice (
b590631
) -
fix: collision-check logic flip breaks every export (
d8a3a75
) -
fix: Incorrect loglevel (
96bb683
) -
fix: Broken timeout print on app-exit (
48f892a
) -
fix: handle broken tasks worker-side (
06dfefe
) -
fix: Up-to-date emoji (
6a5d099
) -
fix: Relink Rerendered offline media (
f011bfb
) -
fix(handlers): handle offline choice not respected (
0dc0a5a
) -
fix: Relative script path fetching broken
purge
and celery
subcommands rely on passing commands to Celery.
Previously they were passing commands to the Celery installed on path
unlike the launch_workers
module which uses the local package instance.
If Celery isn't installed on the system (or is incompatible version),
things would break.
- Update
get_script_from_package
function - Remove
get_celery_binary_path
function - Remove global Celery from path fallback (
ac0fa63
)
-
fix: Remove dead Redis PubSub code (#229)
-
Create draft PR for #224
-
feat(link): Add exception info if all fail link
-
refactor: Group ID as Redis channel ID
-
refactor: Update version_constraint_key
-
refactor: MVP Redis PubSub
-
refactor: Update version_constraint_key
-
refactor: Tidy deeply nested modules
-
refactor: Update version_constraint_key
-
fix: Remove new data flag, recalc every loop
Now just calculating progress and task info every iteration of the loop instead of checking new data flags. It looks like there may be a race condition of some sort causing inaccurate worker numbers.
I might consider thread locks if they work with Redis' pubsub run_in_thread.
-
refactor: Update version_constraint_key
-
refactor: Dropped direct Redis usage altogether
Alright, this is kind of funny. Turns out I've been reinventing the wheel this whole time. Celery's GroupResult contains AsyncResult instances with all the data we need to get active worker count, task completion and task encoding progress (with a custom task state definition).
So:
- dropped Redis database polling
- dropped Redis PubSub
- use unique worker IDs instead of sequential prefix to easily start additional workers at any time
-
refactor: Update version_constraint_key
-
docs: Update README.md
-
build: Export updated requirements.txt
-
fix: Remove dead Redis PubSub code
-
refactor: Update version_constraint_key
-
chore: [pre-commit.ci] automatic fixes
-
refactor: Update version_constraint_key
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <pre-commit-ci[bot]@users.noreply.github.com> (36f5cf5
)
-
fix(ffmpeg_progress): broken relative import (
050eef8
) -
fix(resolve): 'Is' with literal syntax (
ced1979
) -
fix: Premature link success message (#220) (
2d6cac7
) -
fix: First stream probed is not main video stream (#219)
-
Create draft PR for #200
-
fix: Add probe_for_input_range func
- Probe input file for correct color range
- Add support for Resolve data level overrides
-
fix: Ensure probing video stream
-
refactor: Update version_constraint_key
-
refactor: Update version_constraint_key (
4e51283
) -
fix: Data levels issues (#209)
-
Create draft PR for #200
-
fix: Add probe_for_input_range func
- Probe input file for correct color range
- Add support for Resolve data level overrides
- refactor: Update version_constraint_key
Co-authored-by: in03 <[email protected]> (a193f6b
)
- fix(broker): Stale data checksum comparison
Turns out the __data_is_new function in ProgressTracker was broken.
It was checking to see if data
was in self.data_checksums
, instead of
checksum
. Of course the answer was always no and so the data was always
"new". That meant that every message was new. (0db7155
)
-
fix(linking): Match proxies properly (#186)
-
fix(linking): Use 'link_with_mpi' post-encode
Decided to ditch 'find_and_link' method for post-encode linking. Now just passing stringified reference to media pool item through Celery and re-mapping the original object reference for post-encode link. Performance is fantastic.
- fix(link_with_mpi): Add prompt_requeue opt arg
Allows handle_existing_unlinked to requeue failed links but prevents user from getting stuck in an endless loop of post-encode retries.
- fix(linking): Assert 0 proxies remain post-encode
No proxies should remain post-encode without explicitly failing to be linked. If they do, throw an exception.
-
refactor: Update version_constraint_key
-
fix(linking): Fail fast if not proxy_media_path
Link function was assigned job proxy_media_path and proxy_status keys to variables with .get() method, assigning None on KeyError.
Now calling with bracket syntax to fail fast.
- fix(linking): prevent pre-linking all
Prevent 'existing unlinked' handler from attempting to link all in media list when matched media triggers a link routine.
- fix(linking): Fix incorrect proxy output extension
Incorrect output extension was causing linking to fail.
- fix(linking): Fix shallow-copy loophole
Fixed issue with original media_list being altered by list comprehension.
-
refactor: Update version_constraint_key
-
fix(linking): Iterate and remove skipping items
Every second item wasn't being linked. Reversed the media_list to prevent removing items ahead of the loop.
-
refactor: Update version_constraint_key
-
feat(linking): Add prompt_reiterate option
Add prompt_reiterate method to link_proxies_with_mpi to reiterate timelines if media_pool_items are "stale". Essentially the same as running the existing_unlinked handler without all the setup overhead.
- refactor(linking): Quick filter with linkable type
Replace reversed comprehension with linkable type update for code that looks better, makes more sense and probably works faster.
-
refactor: Update version_constraint_key
-
perf(queue): Use zip to iterate two lists at once
Use zip instead of nested for loops
- fix(handlers): restored reverse list sort
Tried to switch from hacky reverse list sort in handle_existing_unlinked. Still seems like the best way.
-
refactor: Update version_constraint_key
-
fix(linking): Catch TypeError if project change
Any reasonable way a link fails we need to catch it to mark it as failed.
- feat(linking): Add prompt_reiterate option
Find_and_link returns linked, failed, allows reiterating timelines if media pool items are "stale" and pass on for re-rendering if media is corrupt.
-
refactor: Update version_constraint_key
-
refactor: Update version_constraint_key (
e1b40b4
) -
fix: Always choose newest existing proxy (#177) (
4440841
) -
fix: Improved version constraint key generation (#175) (
91a0262
) -
fix: Remove linked proxies from queue (#172) (
046e595
) -
fix: bug/issue-155/git-sha-slicing (#159) (
0666a9a
) -
fix: correct bad log-levels
fixes #138 (0f33845
)
-
fix: raise all warning that exit to error (
c0951cf
) -
fix(resolve.py): set warning to critical before exits (
5d3c71d
) -
fix: remove extraneous 'no worker' warning (
abcd7a2
) -
fix: unlinked_proxy KeyError (#136)
-
what the heck...
-
chore: [pre-commit.ci] automatic fixes
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (16a1d35
)
-
fix: broken aspect ratio from target resolution rounding error (#135)
-
fix(tasks): make orientation detection a function
-
fix(tasks): correctly resolve resolution
Using ffmpeg built-in special variable in 'scale' filter: -2:720
-
fix(tasks): remove old get resolution statements
-
style(tasks): inconsistent slashes in log path
Inconsistent slashes were annoying to look at (and technically wrong) (896c83c
)
-
fix(handlers): revert proxy status on link failed (#124) (
9a5ec13
) -
fix: clip flip detection (#119) (
685dd64
) -
fix(handlers): handle zero queueable properly
Fixes issue #114 ofc... (f4f8f62
)
-
fix: Recognise offline but relinkable proxies (#113) (
491e29d
) -
fix: Offline proxy handler prints whole job obj (#111) (
497824e
) -
fix(CLI): Address printing incorrect queue name (#109) (
50cc3d0
) -
fix: address multiple broken features post-merge
BREAKING CHANGES:
- incorrect git-sha slicing fixed - routing key formatting has changed!
- worker queue key error fixed: tried to call local var from new process
OTHER:
- post-encode linking now works
- link speed greatly improved after removing redundant timeline searches
- linking stdout formatting improved
- all modules now following
user_settings.yml
app -> loglevel (23a4804
)
-
fix(celery): fix wrong module path, unregistered task (
01ab218
) -
fix: remove unused import 'icecream' (
6cd1da0
) -
fix: add missing ffmpeg library (
a8f768a
) -
fix: bug/issue 25 (#94)
-
feat: start substitute default settings in ensure_keys
-
feat: prompt sub missing settings instead of warn
This is really a final enhancement to the #25 'Handle Missing Keys' issue. We can now substitute missing settings with default app values, or we can type a new custom value in, all on initial app startup.
FUTURE CONSIDERATIONS: If configuration management were to become more important in future, the following may need to be addressed:
-
If a whole section is missing with an inline comment, a different function parses the diff to the usual. Some of this code could be better shared with the main function. There's currently minor inconsistency.
-
Missing settings are declared as
root['app']['loglevel']
. This could be more human readable. e.g.app -> loglevel
-
Expected custom values are not parsed or validated properly. They're just taken as is.
-
If a whole setting section is missing. The default value is an ordereddict of all the missing nested key/vals within. This isn't human readable and it's definitely not possible to type out a single custom value to represent that whole structure, instead each nested key/val within should be iterated one-by-one.
-
This would all be necessary if we wanted to add a config command to the CLI, but surely YAML is easy enough. (
0e43505
)
- fix: implement chunked encoding
- major project restructuring and renaming
- send calculated chunk data with job data to celery task
- create new
encode_chunk
celery task - maintain source aspect ratio, match user set vertical resolution
- inherit timecode from Resolve clip attributes, no probing file
Still need to implement post-encode concat, moving, cleanup, link.
Unsure how to separate standard 'chunkless' encodes with no
concat callback and chunked encodes with. May have to have an
intermediate worker task that runs chunked encodes on another worker
and gathers results asynchronously. (4eaaf02
)
- fix: more package structural improvements
- merge last changes from main
- relative imports where possible
- add app level settings
- rework logger (previously reinitialised per-module)
BREAKING CHANGES:
- restructure settings, app-level and worker-level
- remove unnecessary 'settings' keyword where present
- remove setting section keyword where present, e.g. "celery_settings" (
b9d9a35
)
- fix: major project restructuring
BREAKING CHANGE (7a37143
)
-
fix: corrected broken module imports (
06d3790
) -
fix: restructured package, renamed files (
9e59f86
) -
fix: tidy up unused imports (
27935c6
) -
fix: Bug/issue 49 (#59)
-
fix: Start on inaccessible worker in pipx install
-
fix: call Celery & worker module from within venv
-
Adds support for virtual environment isolated installations like pipx. Of course there's no way to test this without committing and installing, so here's hoping!
-
Better cross platform support, since this is shaping up to be the only easy way to start workers in isolated environments. (Also untested. SOZ)
Addresses #49
- fix: correctly launch worker from within pipx venv
Can confirm that workers are now launchable when installed as an isolated virtualenv, traditional global installation and when run "non-installed" from Poetry.
Addresses #49 (626c892
)
- fix: remove unused imports in app_settings (
f544e55
)
-
refactor: Update version_constraint_key (
e4641bb
) -
refactor: Update version_constraint_key (
44373ff
) -
refactor: Update version_constraint_key (
30b8f71
) -
refactor: Update version_constraint_key (
8cbc561
) -
refactor: Comment WIP code for now (
b9af9a3
) -
refactor: Update version_constraint_key (
683197f
) -
refactor: Incorrect loglevel for git check (
9ef909f
) -
refactor: Update version_constraint_key (
b382a90
) -
refactor: Update version_constraint_key (
d5b0c84
) -
refactor: Update version_constraint_key (
82f7fb7
) -
refactor: Extraneous import (
989272f
) -
refactor: Update version_constraint_key (
c5a4db8
) -
refactor: Tidy up dead code (
ea0817f
) -
refactor: demote logfile func with messy sideffects (
53901e5
) -
refactor: demote logfile func with messy sideffects (
42ca1ec
) -
refactor: Unified logger instead of module-level loggers (
8211999
) -
refactor: Update version_constraint_key (
ecc76db
) -
refactor(batch): Flat is better than nested (
62c55c3
) -
refactor: Update version_constraint_key (
d643e5c
) -
refactor: Update version_constraint_key (
2682daa
) -
refactor: Update version_constraint_key (
e7567ec
) -
refactor: Update version_constraint_key (
05547e0
) -
refactor: Update version_constraint_key (
52aee81
) -
refactor: Update version_constraint_key (
d5ed4e6
) -
refactor: Typer launch > webbrowser (
bb4a12e
) -
refactor: Update version_constraint_key (
ffc44ca
) -
refactor: Update version_constraint_key (
cdbde73
) -
refactor: Update version_constraint_key (
31cde43
) -
refactor: Update version_constraint_key (
7be82ca
) -
refactor: Update version_constraint_key (
f7a61dd
) -
refactor: Update version_constraint_key (
1627375
) -
refactor: Update version_constraint_key (
517cb5d
) -
refactor: Update version_constraint_key (
f2d55e4
) -
refactor: Update version_constraint_key (
447ce33
) -
refactor: Update version_constraint_key (
e2ad2c8
) -
refactor: Update version_constraint_key (
a2f2f74
) -
refactor: Update version_constraint_key (
ef737eb
) -
refactor: Update version_constraint_key (
65bed95
) -
refactor: Swap Redis PubSub for Celery AsyncResult and custom states (#228)
-
Create draft PR for #224
-
feat(link): Add exception info if all fail link
-
refactor: Group ID as Redis channel ID
-
refactor: Update version_constraint_key
-
refactor: MVP Redis PubSub
-
refactor: Update version_constraint_key
-
refactor: Tidy deeply nested modules
-
refactor: Update version_constraint_key
-
fix: Remove new data flag, recalc every loop
Now just calculating progress and task info every iteration of the loop instead of checking new data flags. It looks like there may be a race condition of some sort causing inaccurate worker numbers.
I might consider thread locks if they work with Redis' pubsub run_in_thread.
-
refactor: Update version_constraint_key
-
refactor: Dropped direct Redis usage altogether
Alright, this is kind of funny. Turns out I've been reinventing the wheel this whole time. Celery's GroupResult contains AsyncResult instances with all the data we need to get active worker count, task completion and task encoding progress (with a custom task state definition).
So:
- dropped Redis database polling
- dropped Redis PubSub
- use unique worker IDs instead of sequential prefix to easily start additional workers at any time
-
refactor: Update version_constraint_key
-
docs: Update README.md
-
build: Export updated requirements.txt
-
refactor: Update version_constraint_key (
92f1747
) -
refactor: Update version_constraint_key (
bb515fe
) -
refactor: Update version_constraint_key (
cfa9e3b
) -
refactor(launch_workers): Change is with literals to '==' (
bfce685
) -
refactor: Update version_constraint_key (
0bfda1f
) -
refactor: Update version_constraint_key (
aa372cd
) -
refactor: Update version_constraint_key (
ceb6d9e
) -
refactor: Update version_constraint_key (
dea40d6
) -
refactor: Update version_constraint_key (
743df9a
) -
refactor: Update version_constraint_key (
84250ae
) -
refactor: Update version_constraint_key (
9881228
) -
refactor: Update version_constraint_key (
f542afe
) -
refactor: Update version_constraint_key (
0a23453
) -
refactor: Update version_constraint_key (
d214d9a
) -
refactor: Update version_constraint_key (
fa00b5a
) -
refactor: Update version-constraint key (
b6caa5e
) -
refactor: Update version-constraint key (
4026412
) -
refactor: Update version-constraint key (
ac43d05
) -
refactor: Update version-constraint key (
4545e7e
) -
refactor: Update version-constraint key (
6a6e88d
) -
refactor: Update version-constraint key (
1aa7bbf
)
-
Merge branch 'main' of https://github.com/in03/proxima (
27312ea
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
fb2c851
) -
revert: "fix(job): Incorrect loglevel"
This reverts commit b90ade1b58e91e2fbf3d80aa25835a10a365e595. (51d05a9
)
-
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
b74f969
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
e2db3c2
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
8eabf89
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
265c3ea
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
7afd43f
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
9ab8f15
) -
Refactor job dict object as Class (#234) (
cf93b40
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
e780151
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
23c0378
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
ab937d7
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
c415767
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
ea3f33b
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
3da42d7
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
0af24cc
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
8bf662d
) -
bump: Update application semver (
8f5827b
) -
bump: Update all dependencies (
5ae3839
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder (
2586963
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder (
0fa14da
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder (
bf91f9d
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder (
868b60f
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
123e94b
) -
build(cli.py) remove unused import 'merge_args' (
fc8891e
) -
Merge pull request #116 from in03:bug/issue114
fix(handlers): handle zero queueable properly (e20ac1d
)
-
Feat/issue103 (#107)
-
feat(handlers): Swap TK msgbox to console prompts
Addresses #103
- Also addressed issue with multiple online Celery worker checks
-
feat(formatting): improve console output / logging (
1661dc7
) -
Merge branch 'feature/issue-9' of https://github.com/in03/resolve-proxy-encoder (
cd83c7e
) -
Update README.md (
4b65272
) -
[pre-commit.ci] pre-commit autoupdate (#63)
updates:
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> (cd44050
)
-
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder (
cc8cef7
) -
Update workflow.yml (
7fecfbe
) -
FIX: Improved settings validation console logging (
eea5feb
) -
FIX: user settings read before file exist check (
d90be7b
) -
Merge pull request #35 from in03/bug/issue-25
Bug/issue 25 (73c0519
)
-
Merge branch 'main' into bug/issue-25 (
07ec680
) -
Fix settings across modules (
fa80b61
) -
Settings validation working, keys ensured to exist (
019d9ef
) -
Merge pull request #31 from in03/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate (9b4c06d
)
-
Schema now working, still working on missing keys (
8b60199
) -
added quote to numbers in yaml to force int (
2fb5bdc
) -
Started progress bars, fixing timecode match issue (
5bf51ca
) -
Started on schema validation and missing key check (
aa321ef
) -
[pre-commit.ci] pre-commit autoupdate
updates:
- github.com/pre-commit/pre-commit-hooks: v4.0.1 → v4.1.0
- github.com/pre-commit/pre-commit-hooks: v4.0.1 → v4.1.0 (
4bca0fa
)
-
Started on better config management (
a975e21
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
35e95b1
) -
FIX: file collisions + heaps else (
d4c9b38
) -
Update ci-docs.yml (
78daff3
) -
Update and rename ci.yml to ci-docs.yml (
f6a8e6e
) -
Merge pull request #30 from in03/pre-commit-ci-update-config
ci: [pre-commit.ci] pre-commit autoupdate (466ac93
)
-
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
04f7850
) -
Increment existing proxies instead of overwrite (
aa97d37
) -
[pre-commit.ci] pre-commit autoupdate
updates:
-
Update README.md (
723ea58
) -
Added better Resolve API object checks (
8d8fae4
) -
Merge branch 'main' of https://github.com/in03/resolve-proxy-encoder into main (
8dd3e9f
) -
Implemented pre-commit hooks (
7ed294c
) -
Update README.md (
52467e0
) -
Merge pull request #28 from in03/bug/issue-27
Fixed bug/issue-27 (dbd1927
)
-
Fixed bug/issue-27 (
67e5485
) -
Fixed purge command (
524612a
) -
fixed stray debug print, unregistered task (
6ee3635
) -
Merge pull request #24 from in03/bug/issue-21
fixed icecream dependency import error (b77f5e3
)
-
fixed icecream dependency import error (
7c33b01
) -
Merge pull request #23 from in03/bug/issue-21
Detect offline proxies, updated docstrings (62e7a50
)
-
Detect offline proxies, updated docstrings (
fe7ba83
) -
Merge branch 'main' of https://github.com/in03/Resolve-Proxy-Encoder into main (
d880daf
) -
Merge pull request #18 from in03/dev
Merge dev updates to main (617a839
)
-
Merge branch 'main' into dev (
01c245c
) -
Merge branch 'dev' into main (
2db768c
) -
Update README.md (
890ca83
) -
Started docs (
6c805cb
) -
Added ability to call scripts directly to test (
04cbb00
) -
Moved fragile config settings to code (
23b6562
) -
Fixed worker glitches, can start standalone (
4b08d4e
) -
Updated default_settings Celery worker config (
b2b3f9a
) -
Fixed initial settings error if no ./config dir (
e97baef
) -
Deleted old docker files (
ca6e47c
) -
Restructured package and updated terminology (
c933412
) -
Cleanup LAUNCHING + dots in start_workers (
1947cac
) -
Fixed 'some_action_taken' undefined var (
1b4fad8
) -
Follow XDG Base Directory Specification (
684dc56
) -
Merge branch 'main' of https://github.com/in03/Resolve-Proxy-Encoder into main (
389bb5e
) -
Fixed missing action taken flag (
089eff2
) -
Update README.md (
33a1adf
) -
Update README.md (
15930b2
) -
Update README.md (
0d81e51
) -
Better error handling for PyRemoteObjects (
773b03a
) -
Internalised Resolve API import error (
6357e09
) -
Added import warning for Resolve API (
6670b9c
) -
Fixed start_workers and celery app (
3766d38
) -
Fixed loglevel error (
dce36de
) -
Fixed Resolve API access error
- Fixed Resolve API NoneType error
- Added missing dependency Redis
- Reworked clunky imports
- Moved common functions to helpers
- Settings check on import (
ea5cab7
)
-
Update cli.py (
55bcf56
) -
CLI update (
65d1219
) -
Fixed more relative import errors (
a3ca2d3
) -
Fixed relative import errors (
b73460a
) -
Merge branch 'main' of https://github.com/in03/Resolve-Proxy-Encoder (
fa45b3c
) -
Initial package format testing
- Made into Python package
- CLI with Typer
- Using Poetry (
4d1f19a
)
-
Delete RESOLVE_queue_proxies-old.py (
f939587
) -
Merge pull request #8 from in03/dependabot/pip/pywin32-301
Bump pywin32 from 300 to 301 (4ac9697
)
-
Delete Link Proxies pseudocode.rtf (
35158d6
) -
Bump pywin32 from 300 to 301
Bumps pywin32 from 300 to 301.
updated-dependencies:
- dependency-name: pywin32 dependency-type: direct:production ...
Signed-off-by: dependabot[bot] <[email protected]> (ad371af
)
-
Reverted changes. Got too messy. (
3989b31
) -
Revert "Trying to include Settings_Manager"
This reverts commit 497851460a41df706968913819162a39c06eded4. (bf1bae8
)
-
Trying to include Settings_Manager (
4978514
) -
Fixed linking
- Implemented old linking method as legacy_link so we can continue developing post-encode method (
88d0515
)
- Change serializer
- Changed serializer to Pickle, not working yet, will fix
- Passing MediaPoolItem method as object to Celery so we can link only encoded items afterwards instead of searching from scratch (
0214cd7
)
-
Merge branch 'main' of https://github.com/in03/Resolve-Proxy-Encoder into main (
d72c3cb
) -
Changed to Redis (
eb578b7
) -
Update README.md (
bf1ce91
) -
Update README.md (
d8768e6
) -
Started docker support
- Working on proxy linking logic
- Began docker auto build support (
4e049a1
)
- Fixed virtualenv
- Cleaned up
- Added correct shebangs
- Realised a shared virtualenv over LAN is a terrible idea
- Added requirements.txt
- exit_on_seconds function updated
- Celery launches using default python now. Each worker must be setup using requirements.txt (
c6b0187
)
- post-encode proxy linking
- Automatically link after encode
- Renamed some files and functions to by more line with Celery's naming conventions
- All scripts work off virtual env now
- Setup flower in container, removed local instance from start_worker.bat (
5a57c18
)
- Fixed toast
Toast will fail to show if ascii colour byte in text (e59ae19
)
- Receives results
Can now receive job results on host machine (a5bbb57
)
-
Started some_action_taken logic (
06efb09
) -
Changes to console output (
af9ca74
) -
Minor tweaks (
db54c42
) -
Fixed non existing render path bug (
6d4dfe7
) -
Flipping works! (
afff30e
) -
Actually encodes now! (
b957a10
) -
Pre notification integration (
a812e11
) -
can't remember why I need to commit again (
523191d
) -
Got simulated job working! (
3836d64
) -
Minimum viable (
25a22a1
) -
Initial (
8094086
) -
Initial commit (
d8617bd
)