tmux-python / tmux-python/tmuxp
Consider switching to StrictYAML
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4.6k
- Forks
- 248
- Avg merge
- 2h 13m
- Merged PRs (30d)
- 1
Description
Hi, big fan of this package, been using it for a while.
I'm an author of this package https://github.com/crdoconnor/strictyaml which is a yaml parser, validator and emitter that parses a stripped down version of the yaml specification. Note that it does not implement the YAML 2.0 specification, but tries to parse according to how people tend to believe YAML behaves rather than how it actually does. There's a lot of detail about what it does and why on the website: https://hitchdev.com/strictyaml/#design-justifications
I think this package might help prevent a few of the kinds of issues you've had:
-
https://github.com/tmux-python/tmuxp/issues/502 -- strictyaml has schemas built in, so validating the yaml would be pretty trivial, and it strives to give clear error messages with line numbers.
-
https://github.com/tmux-python/tmuxp/issues/399 -- which is the same/very similar to an issue I personally experienced trying to install tmuxp because of pyyaml.
-
https://github.com/tmux-python/tmuxp/issues/194 -- strictyaml does not allow typing inside YAML files.
This is also partly inspired by a new testing feature I'm working on, whereby I automatically regression test any code changes in downstream packages to ensure that nothing breaks. I have a few other projects which I'd like to start running tests against like this but I think also that tmuxp would be a good candidate for this.
If you want, I can raise a pull request for this, but I'd like to hear your opinions first.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by reviewing issues #502, #399, and #194, then read StrictYAML's design justifications and compare its behavior with tmuxp's current YAML handling. Done would require a decision on the dependency switch and, if accepted, an agreed migration scope.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, yaml
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100