arichtman / foxops Goto Github PK
View Code? Open in Web Editor NEWGitOps for GitLab. Maintain your repositories and configuration as-code.
License: GNU General Public License v3.0
GitOps for GitLab. Maintain your repositories and configuration as-code.
License: GNU General Public License v3.0
Take some time to think about and write down how we actually want this CLI to work, and what a typical workflow would look like
Use Typer module to create foxops project get
subcommand
Explore and decide which argument parsing module/framework to use. argsparse, typer, plac, docopt etc
Must update decision register
if it's only holding things needed to initialise the connected/authenticated gitlab object instance then we can isolate the config to main.py and just make the object available after that. Unless there are things like verbosity we want to make available?
get the main function pulling a gitlab repo's metadata or information
What it says up there. array_object[0]
is ugly - change my mind
Broadly speaking the configuration object should only be things that the user can set, and not a vehicle for global static constants. Furthermore, there appears no need for global static values anyhow.
In order to reduce code duplication we should be able to say that for all subcommands the following options may apply e.g. --verbose. For arguments for all subcommands it may be better to store such things in configuration. Needs some playing with and thought.
environment variables? singleton config object? config as YAML? Assume system and user locations? option to specify a config file? subcommand for management of config?
Task is to select testing framework. Implementation is out-of-scope. Ensure decision register and any other documentation is updated.
When run mkdocs locally it generates side bar and top navigation. The github action doesn't and so you can only see the one page you land on :'(
Presently the Gitlab.projects.list() function search doesn't seem to understand f"{group}/{project}" syntax for searching. As such, many more results than desired are being returned.
Exploratory work to assess and select an error handling approach e.g. use out-of-the-box, monadic, or other
Look into both Python-supplied and python-gitlab exceptions to see if there's specific types for missing results or ambiguous results
Typer doesn't seem to support the features we want and is still too nascent. Click is commerically supported, has more features, more complete documentation, and is version 8.x
Some basic documentation outlining what the goals of this project are, how it plans to achieve it, maybe a road map would help too.. Don't go overboard but use this to have a think about the details and direction.
Presently if we pass the envvar
argument when decorating with an option it works, but auto_envvar_prefix
should be defaulting that argument.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.