-
Notifications
You must be signed in to change notification settings - Fork 200
Roadmap
Daniel Mach edited this page Dec 9, 2025
·
7 revisions
There is currently no timeline, this page only explains the overall direction of the project.
- Keep in mind that the minimal supported Python version is 3.6 (this may change in the future versions of osc)
-
Split
osc.coreinto smaller modules.-
connectionfor anything related to HTTP(S) and URLs -
obs_apifor anything that communicates with OBS API -
obs_scmfor anything that handles OBS SCM checkouts -
utilfor anything generic
-
-
Replace any code that uses
ElementTreewith an objects that manages the XML. -
Consider moving from custom
BaseModelandXmlModelto pydantic v2 once (and if) possible. -
Replace
osc.OscConfigParserif there's a config parser preserving comments. -
Consider merging
CredentialsManagerDescriptorclasses into theirCredentialsManagercounterparts.
- Split
osc.commandlinetoosc.commands, one module per command. - Generate shell completion with argcomplete
- Figure out how to deal with
project/packagevsproject packagearguments, make sure completion works for them. Argparse processes all arguments at once, has no callback that would allow us to split args and inject them back to the yet unparsed args.
- Follow PEP 8.
- Use black for any new code - but only where it makes sense.
- Use type hints in all function/method declarations.
- Reduce as many mypy errors as possible.
- Reduce as many pylint warnings as possible.
- python 3.13+
- get rid of
decode_it()and anything related to migration from python2 - split commandline.py to individual commands
- unified arguments (e.g. prj/pac - remove the current ambiguity)
- argcomplete
- consider an alternative argument parser - argparse is slow when loading 100+ commands (includes subcommands)
- probably wait until git-obs (and git workflow) are stabilized so we don't maintain it in 2 code bases
- Authors
- Found an issue?
- Release process
- Roadmap
- Writing your own osc plugin (References the openSUSE Wiki)
- Latest Changelog
- Found an issue?
-
Installation requirements
- Walk through (References the openSUSE Wiki)
- Recommended starter configuration (References the openSUSE Wiki)
- Usage examples (References the openSUSE Wiki)
- Troubleshooting