Compare commits

...

4 Commits

Author SHA1 Message Date
e7a561c7b4 add --version/-v flag 2025-06-11 02:09:32 +01:00
cb0a87df68 fix readme commands link 2025-06-11 01:42:05 +01:00
ed08d7eff2
Create LICENSE 2025-06-11 01:32:24 +01:00
4ab2706475 add special thanks 2025-06-11 00:33:51 +01:00
6 changed files with 53 additions and 7 deletions

View File

@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
# [0.7.6] - 2025-06-11
### Added
- --version/-v command.
### Changed
- --token/-t is now required.
# [0.7.3] - 2025-06-10
### Added

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Onyx and Iris
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -14,7 +14,7 @@ For an outline of past/future changes refer to: [CHANGELOG](CHANGELOG.md)
- [Installation](#installation)
- [Configuration](#configuration)
- [Commands](#root-typer)
- [Commands](#commands)
- [License](#license)
## Requirements
@ -46,6 +46,7 @@ The CLI should now be discoverable as `slobs-cli`
- --domain/-d: Streamlabs client domain
- --port/-p Streamlabs client port
- --token/-t: API Token
- --version/-v: Print the slobs-cli version
Pass `--domain`, `--port` and `--token` as flags on the root command, for example:
@ -232,3 +233,11 @@ slobs-cli studiomode status
```console
slobs-cli studiomode force-transition
```
## Special Thanks
- [Julian-0](https://github.com/Julian-O) For writing the [PySLOBS wrapper](https://github.com/Julian-O/PySLOBS) on which this CLI depends.
## License
`slobs-cli` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.

View File

@ -1,12 +1,12 @@
[project]
name = "slobs-cli"
version = "0.7.5"
description = "A command line application for Streamlabs Desktop"
authors = [{ name = "onyx-and-iris", email = "code@onyxandiris.online" }]
dependencies = ["pyslobs>=2.0.4", "asyncclick>=8.1.8"]
requires-python = ">=3.10"
readme = "README.md"
license = { text = "MIT" }
dynamic = ["version"]
[project.scripts]
slobs-cli = "slobs_cli.cli:run"
@ -19,6 +19,10 @@ build-backend = "pdm.backend"
[tool.pdm]
distribution = true
[tool.pdm.version]
source = "file"
path = "src/slobs_cli/__about__.py"
[tool.pdm.scripts]
cli.cmd = "slobs-cli {args}"
cli.env_file = ".env"
@ -28,8 +32,4 @@ test.env_file = ".env"
post_test.cmd = "python tests/teardown.py"
[dependency-groups]
dev = [
"tox-pdm>=0.7.2",
"pytest>=8.4.0",
"virtualenv-pyenv>=0.5.0",
]
dev = ["tox-pdm>=0.7.2", "pytest>=8.4.0", "virtualenv-pyenv>=0.5.0"]

View File

@ -0,0 +1 @@
__version__ = "0.7.6"

View File

@ -2,6 +2,8 @@ import anyio
import asyncclick as click
from pyslobs import ConnectionConfig, SlobsConnection
from .__about__ import __version__ as version
@click.group()
@click.option(
@ -30,6 +32,9 @@ from pyslobs import ConnectionConfig, SlobsConnection
show_envvar=True,
required=True,
)
@click.version_option(
version, "-v", "--version", message="%(prog)s version: %(version)s"
)
@click.pass_context
async def cli(ctx: click.Context, domain: str, port: int, token: str | None):
"""Command line interface for Streamlabs Desktop."""