carconnectivity-cli 0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- carconnectivity_cli-0.1/.flake8 +2 -0
- carconnectivity_cli-0.1/.github/ISSUE_TEMPLATE/bug_report.md +33 -0
- carconnectivity_cli-0.1/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- carconnectivity_cli-0.1/.github/dependabot.yml +11 -0
- carconnectivity_cli-0.1/.github/workflows/build.yml +53 -0
- carconnectivity_cli-0.1/.github/workflows/build_and_publish.yml +37 -0
- carconnectivity_cli-0.1/.github/workflows/codeql-analysis.yml +58 -0
- carconnectivity_cli-0.1/.gitignore +132 -0
- carconnectivity_cli-0.1/CHANGELOG.md +13 -0
- carconnectivity_cli-0.1/LICENSE +21 -0
- carconnectivity_cli-0.1/Makefile +22 -0
- carconnectivity_cli-0.1/PKG-INFO +203 -0
- carconnectivity_cli-0.1/README.md +151 -0
- carconnectivity_cli-0.1/pyproject.toml +61 -0
- carconnectivity_cli-0.1/setup.cfg +4 -0
- carconnectivity_cli-0.1/setup_requirements.txt +3 -0
- carconnectivity_cli-0.1/src/carconnectivity_cli/__init__.py +0 -0
- carconnectivity_cli-0.1/src/carconnectivity_cli/_version.py +16 -0
- carconnectivity_cli-0.1/src/carconnectivity_cli/carconnectivity_cli_base.py +546 -0
- carconnectivity_cli-0.1/src/carconnectivity_cli.egg-info/PKG-INFO +203 -0
- carconnectivity_cli-0.1/src/carconnectivity_cli.egg-info/SOURCES.txt +23 -0
- carconnectivity_cli-0.1/src/carconnectivity_cli.egg-info/dependency_links.txt +1 -0
- carconnectivity_cli-0.1/src/carconnectivity_cli.egg-info/entry_points.txt +2 -0
- carconnectivity_cli-0.1/src/carconnectivity_cli.egg-info/requires.txt +11 -0
- carconnectivity_cli-0.1/src/carconnectivity_cli.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
title: ''
|
|
5
|
+
labels: bug
|
|
6
|
+
assignees: tillsteinbach
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Describe the bug**
|
|
11
|
+
A clear and concise description of what the bug is.
|
|
12
|
+
|
|
13
|
+
**To Reproduce**
|
|
14
|
+
Steps to reproduce the behavior:
|
|
15
|
+
1. Go to '...'
|
|
16
|
+
2. Click on '....'
|
|
17
|
+
3. Scroll down to '....'
|
|
18
|
+
4. See error
|
|
19
|
+
|
|
20
|
+
**Expected behavior**
|
|
21
|
+
A clear and concise description of what you expected to happen.
|
|
22
|
+
|
|
23
|
+
**Screenshots**
|
|
24
|
+
If applicable, add screenshots to help explain your problem.
|
|
25
|
+
|
|
26
|
+
**Logs**
|
|
27
|
+
IF applicable logs that show the problem. Please take care to remove any confidential data from the logs (e.g. your vehicles VIN number, usernames or passwords)
|
|
28
|
+
|
|
29
|
+
- OS: [e.g. Windows, Linux, MacOS, ...]
|
|
30
|
+
- Version used [e.g. 0.6.2]
|
|
31
|
+
|
|
32
|
+
**Additional context**
|
|
33
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest an idea for this project
|
|
4
|
+
title: ''
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: tillsteinbach
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Is your feature request related to a problem? Please describe.**
|
|
11
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
12
|
+
|
|
13
|
+
**Describe the solution you'd like**
|
|
14
|
+
A clear and concise description of what you want to happen.
|
|
15
|
+
|
|
16
|
+
**Describe alternatives you've considered**
|
|
17
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
|
18
|
+
|
|
19
|
+
**Additional context**
|
|
20
|
+
Add any other context or screenshots about the feature request here.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: Build Python Package
|
|
2
|
+
|
|
3
|
+
# Controls when the action will run.
|
|
4
|
+
on:
|
|
5
|
+
# Triggers the workflow on push or pull request events but only for the master branch
|
|
6
|
+
push:
|
|
7
|
+
branches: [ main ]
|
|
8
|
+
tags:
|
|
9
|
+
- "v*"
|
|
10
|
+
paths:
|
|
11
|
+
- .github/workflows/build.yml
|
|
12
|
+
- '**.py'
|
|
13
|
+
- 'pyproject.toml'
|
|
14
|
+
pull_request:
|
|
15
|
+
paths:
|
|
16
|
+
- .github/workflows/build.yml
|
|
17
|
+
- '**.py'
|
|
18
|
+
- 'pyproject.toml'
|
|
19
|
+
|
|
20
|
+
jobs:
|
|
21
|
+
build-python:
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
strategy:
|
|
24
|
+
matrix:
|
|
25
|
+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
|
26
|
+
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
30
|
+
uses: actions/setup-python@v5
|
|
31
|
+
with:
|
|
32
|
+
python-version: ${{ matrix.python-version }}
|
|
33
|
+
- name: Install dependencies
|
|
34
|
+
run: |
|
|
35
|
+
python -m pip install --upgrade pip
|
|
36
|
+
if [ -f setup_requirements.txt ]; then pip install -r setup_requirements.txt; fi
|
|
37
|
+
python -m pip install build
|
|
38
|
+
- name: Build
|
|
39
|
+
run: |
|
|
40
|
+
python -m build
|
|
41
|
+
- name: Install built package
|
|
42
|
+
run: |
|
|
43
|
+
pip install dist/*.whl
|
|
44
|
+
- name: Lint
|
|
45
|
+
run: |
|
|
46
|
+
make lint
|
|
47
|
+
# - name: Test
|
|
48
|
+
# run: |
|
|
49
|
+
# make test
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
name: Build and Upload Python Package
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
pypi-publish:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
environment:
|
|
12
|
+
name: pypi
|
|
13
|
+
url: https://pypi.org/p/carconnectivity-cli
|
|
14
|
+
permissions:
|
|
15
|
+
id-token: write
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
with:
|
|
20
|
+
fetch-depth: 0
|
|
21
|
+
- name: Set up Python
|
|
22
|
+
uses: actions/setup-python@v5
|
|
23
|
+
with:
|
|
24
|
+
python-version: "3.x"
|
|
25
|
+
- name: Install dependencies
|
|
26
|
+
run: |
|
|
27
|
+
python -m pip install --upgrade pip
|
|
28
|
+
python -m pip install build twine
|
|
29
|
+
- name: Build
|
|
30
|
+
run: |
|
|
31
|
+
python -m build
|
|
32
|
+
- name: Publish package distributions to PyPI
|
|
33
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: "CodeQL"
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
paths:
|
|
6
|
+
- '**.py'
|
|
7
|
+
schedule:
|
|
8
|
+
- cron: '33 5 * * 0'
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
analyze:
|
|
12
|
+
name: Analyze
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
permissions:
|
|
15
|
+
actions: read
|
|
16
|
+
contents: read
|
|
17
|
+
security-events: write
|
|
18
|
+
|
|
19
|
+
strategy:
|
|
20
|
+
fail-fast: false
|
|
21
|
+
matrix:
|
|
22
|
+
language: [ 'python' ]
|
|
23
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
|
24
|
+
# Learn more:
|
|
25
|
+
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
|
26
|
+
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout repository
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
|
|
31
|
+
# Initializes the CodeQL tools for scanning.
|
|
32
|
+
- name: Initialize CodeQL
|
|
33
|
+
uses: github/codeql-action/init@v3
|
|
34
|
+
with:
|
|
35
|
+
languages: ${{ matrix.language }}
|
|
36
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
37
|
+
# By default, queries listed here will override any specified in a config file.
|
|
38
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
39
|
+
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
|
40
|
+
|
|
41
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
42
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
|
43
|
+
- name: Autobuild
|
|
44
|
+
uses: github/codeql-action/autobuild@v3
|
|
45
|
+
|
|
46
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
|
47
|
+
# 📚 https://git.io/JvXDl
|
|
48
|
+
|
|
49
|
+
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
50
|
+
# and modify them (or add more) to build your code if your project
|
|
51
|
+
# uses a compiled language
|
|
52
|
+
|
|
53
|
+
#- run: |
|
|
54
|
+
# make bootstrap
|
|
55
|
+
# make release
|
|
56
|
+
|
|
57
|
+
- name: Perform CodeQL Analysis
|
|
58
|
+
uses: github/codeql-action/analyze@v3
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
#Generated
|
|
2
|
+
_version.py
|
|
3
|
+
|
|
4
|
+
# Byte-compiled / optimized / DLL files
|
|
5
|
+
__pycache__/
|
|
6
|
+
*.py[cod]
|
|
7
|
+
*$py.class
|
|
8
|
+
|
|
9
|
+
# C extensions
|
|
10
|
+
*.so
|
|
11
|
+
|
|
12
|
+
# Distribution / packaging
|
|
13
|
+
.Python
|
|
14
|
+
build/
|
|
15
|
+
develop-eggs/
|
|
16
|
+
dist/
|
|
17
|
+
downloads/
|
|
18
|
+
eggs/
|
|
19
|
+
.eggs/
|
|
20
|
+
lib/
|
|
21
|
+
lib64/
|
|
22
|
+
parts/
|
|
23
|
+
sdist/
|
|
24
|
+
var/
|
|
25
|
+
wheels/
|
|
26
|
+
pip-wheel-metadata/
|
|
27
|
+
share/python-wheels/
|
|
28
|
+
*.egg-info/
|
|
29
|
+
.installed.cfg
|
|
30
|
+
*.egg
|
|
31
|
+
MANIFEST
|
|
32
|
+
|
|
33
|
+
# PyInstaller
|
|
34
|
+
# Usually these files are written by a python script from a template
|
|
35
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
36
|
+
*.manifest
|
|
37
|
+
*.spec
|
|
38
|
+
|
|
39
|
+
# Installer logs
|
|
40
|
+
pip-log.txt
|
|
41
|
+
pip-delete-this-directory.txt
|
|
42
|
+
|
|
43
|
+
# Unit test / coverage reports
|
|
44
|
+
htmlcov/
|
|
45
|
+
.tox/
|
|
46
|
+
.nox/
|
|
47
|
+
.coverage
|
|
48
|
+
.coverage.*
|
|
49
|
+
.cache
|
|
50
|
+
nosetests.xml
|
|
51
|
+
coverage.xml
|
|
52
|
+
*.cover
|
|
53
|
+
*.py,cover
|
|
54
|
+
.hypothesis/
|
|
55
|
+
.pytest_cache/
|
|
56
|
+
|
|
57
|
+
# Translations
|
|
58
|
+
*.mo
|
|
59
|
+
*.pot
|
|
60
|
+
|
|
61
|
+
# Django stuff:
|
|
62
|
+
*.log
|
|
63
|
+
local_settings.py
|
|
64
|
+
db.sqlite3
|
|
65
|
+
db.sqlite3-journal
|
|
66
|
+
|
|
67
|
+
# Flask stuff:
|
|
68
|
+
instance/
|
|
69
|
+
.webassets-cache
|
|
70
|
+
|
|
71
|
+
# Scrapy stuff:
|
|
72
|
+
.scrapy
|
|
73
|
+
|
|
74
|
+
# Sphinx documentation
|
|
75
|
+
docs/_build/
|
|
76
|
+
|
|
77
|
+
# PyBuilder
|
|
78
|
+
target/
|
|
79
|
+
|
|
80
|
+
# Jupyter Notebook
|
|
81
|
+
.ipynb_checkpoints
|
|
82
|
+
|
|
83
|
+
# IPython
|
|
84
|
+
profile_default/
|
|
85
|
+
ipython_config.py
|
|
86
|
+
|
|
87
|
+
# pyenv
|
|
88
|
+
.python-version
|
|
89
|
+
|
|
90
|
+
# pipenv
|
|
91
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
92
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
93
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
94
|
+
# install all needed dependencies.
|
|
95
|
+
#Pipfile.lock
|
|
96
|
+
|
|
97
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
|
98
|
+
__pypackages__/
|
|
99
|
+
|
|
100
|
+
# Celery stuff
|
|
101
|
+
celerybeat-schedule
|
|
102
|
+
celerybeat.pid
|
|
103
|
+
|
|
104
|
+
# SageMath parsed files
|
|
105
|
+
*.sage.py
|
|
106
|
+
|
|
107
|
+
# Environments
|
|
108
|
+
.env
|
|
109
|
+
.venv
|
|
110
|
+
env/
|
|
111
|
+
venv/
|
|
112
|
+
ENV/
|
|
113
|
+
env.bak/
|
|
114
|
+
venv.bak/
|
|
115
|
+
|
|
116
|
+
# Spyder project settings
|
|
117
|
+
.spyderproject
|
|
118
|
+
.spyproject
|
|
119
|
+
|
|
120
|
+
# Rope project settings
|
|
121
|
+
.ropeproject
|
|
122
|
+
|
|
123
|
+
# mkdocs documentation
|
|
124
|
+
/site
|
|
125
|
+
|
|
126
|
+
# mypy
|
|
127
|
+
.mypy_cache/
|
|
128
|
+
.dmypy.json
|
|
129
|
+
dmypy.json
|
|
130
|
+
|
|
131
|
+
# Pyre type checker
|
|
132
|
+
.pyre/
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
- No unreleased changes so far
|
|
7
|
+
|
|
8
|
+
## [0.1] - 2025-01-25
|
|
9
|
+
Initial release, let's go and give this to the public to try out...
|
|
10
|
+
|
|
11
|
+
[unreleased]: https://github.com/tillsteinbach/CarConnectivity-cli/compare/v0.1...HEAD
|
|
12
|
+
|
|
13
|
+
[0.1]: https://github.com/tillsteinbach/CarConnectivity-cli/releases/tag/v0.1
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2021 Till Steinbach
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MODULE := carconnectivity_cli.carconnectivity_cli_base
|
|
2
|
+
BLUE='\033[0;34m'
|
|
3
|
+
NC='\033[0m' # No Color
|
|
4
|
+
|
|
5
|
+
run:
|
|
6
|
+
@python -m $(MODULE)
|
|
7
|
+
|
|
8
|
+
test:
|
|
9
|
+
@pytest
|
|
10
|
+
|
|
11
|
+
lint:
|
|
12
|
+
@echo "\n${BLUE}Running Pylint against source and test files...${NC}\n"
|
|
13
|
+
@pylint ./src
|
|
14
|
+
@echo "\n${BLUE}Running Flake8 against source and test files...${NC}\n"
|
|
15
|
+
@flake8
|
|
16
|
+
@echo "\n${BLUE}Running Bandit against source files...${NC}\n"
|
|
17
|
+
@bandit -c pyproject.toml -r .
|
|
18
|
+
|
|
19
|
+
clean:
|
|
20
|
+
rm -rf .pytest_cache .coverage .pytest_cache coverage.xml coverage_html_report
|
|
21
|
+
|
|
22
|
+
.PHONY: clean test
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: carconnectivity-cli
|
|
3
|
+
Version: 0.1
|
|
4
|
+
Summary: Library for retrieving information from car connectivity services
|
|
5
|
+
Author: Till Steinbach
|
|
6
|
+
License: MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (c) 2021 Till Steinbach
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
27
|
+
|
|
28
|
+
Classifier: Development Status :: 3 - Alpha
|
|
29
|
+
Classifier: Environment :: Console
|
|
30
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
31
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
32
|
+
Classifier: Intended Audience :: System Administrators
|
|
33
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
34
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
35
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
36
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
37
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
38
|
+
Classifier: Topic :: Utilities
|
|
39
|
+
Classifier: Topic :: System :: Monitoring
|
|
40
|
+
Requires-Python: >=3.9
|
|
41
|
+
Description-Content-Type: text/markdown
|
|
42
|
+
License-File: LICENSE
|
|
43
|
+
Requires-Dist: carconnectivity~=0.1.0
|
|
44
|
+
Requires-Dist: argparse
|
|
45
|
+
Requires-Dist: JSON_minify~=0.3.0
|
|
46
|
+
Provides-Extra: connectors
|
|
47
|
+
Requires-Dist: carconnectivity-connector-volkswagen; extra == "connectors"
|
|
48
|
+
Requires-Dist: carconnectivity-connector-skoda; extra == "connectors"
|
|
49
|
+
Provides-Extra: plugins
|
|
50
|
+
Requires-Dist: carconnectivity-plugin-abrp; extra == "plugins"
|
|
51
|
+
Requires-Dist: carconnectivity-plugin-homekit; extra == "plugins"
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
# CarConnectivity Command Line Interface
|
|
56
|
+
[](https://github.com/tillsteinbach/CarConnectivity-cli/)
|
|
57
|
+
[](https://github.com/tillsteinbach/CarConnectivity-cli/releases/latest)
|
|
58
|
+
[](https://github.com/tillsteinbach/CarConnectivity-cli/blob/master/LICENSE)
|
|
59
|
+
[](https://github.com/tillsteinbach/CarConnectivity-cli/issues)
|
|
60
|
+
[](https://pypi.org/project/carconnectivity-cli/)
|
|
61
|
+
[](https://pypi.org/project/carconnectivity-cli/)
|
|
62
|
+
[](https://www.paypal.com/donate?hosted_button_id=2BVFF5GJ9SXAJ)
|
|
63
|
+
[](https://github.com/sponsors/tillsteinbach)
|
|
64
|
+
|
|
65
|
+
## CarConnectivity will become the successor of [WeConnect-python](https://github.com/tillsteinbach/WeConnect-python) in 2025 with similar functionality but support for other brands beyond Volkswagen!
|
|
66
|
+
|
|
67
|
+
## Supported Car Brands
|
|
68
|
+
CarConenctivity uses a plugin architecture to enable access to the services of various brands. Currently known plugins are:
|
|
69
|
+
|
|
70
|
+
| Brand | Connector |
|
|
71
|
+
|------------|---------------------------------------------------------------------------------------------------------------|
|
|
72
|
+
| Skoda | [CarConnectivity-connector-skoda](https://github.com/tillsteinbach/CarConnectivity-connector-skoda) |
|
|
73
|
+
| Volkswagen | [CarConnectivity-connector-volkswagen](https://github.com/tillsteinbach/CarConnectivity-connector-volkswagen) |
|
|
74
|
+
|
|
75
|
+
If you know of a connector not listed here let me know and I will add it to the list.
|
|
76
|
+
If you are a python developer and willing to implement a connector for a brand not listed here, let me know and I try to support you as good as possible
|
|
77
|
+
|
|
78
|
+
## How to use
|
|
79
|
+
Start by creating a carconnectivity.json configuration file
|
|
80
|
+
|
|
81
|
+
### Configuration
|
|
82
|
+
In your carconnectivity.json configuration add a section for the connectors you like to use like this:
|
|
83
|
+
```
|
|
84
|
+
{
|
|
85
|
+
"carConnectivity": {
|
|
86
|
+
"connectors": [
|
|
87
|
+
{
|
|
88
|
+
"type": "volkswagen",
|
|
89
|
+
"config": {
|
|
90
|
+
"username": "test@test.de"
|
|
91
|
+
"password": "testpassword123"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"type": "skoda",
|
|
96
|
+
"config": {
|
|
97
|
+
"username": "test@test.de"
|
|
98
|
+
"password": "testpassword123"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
The detailed configuration options of the connectors can be found in their README files.
|
|
106
|
+
|
|
107
|
+
### How to use the commandline interface
|
|
108
|
+
Start carconnectivity-cli from the commandline, by default you will enter the interactive shell:
|
|
109
|
+
```bash
|
|
110
|
+
carconnectivity-cli mycarconnectivity_config.json
|
|
111
|
+
```
|
|
112
|
+
You get all the usage information by using the --help command
|
|
113
|
+
```bash
|
|
114
|
+
carconnectivity-cli mycarconnectivity_config.json --help
|
|
115
|
+
```
|
|
116
|
+
With the "list" command you can get a list of all available information you can query (use "list -s" if you want to see which attributes can be changed)
|
|
117
|
+
```bash
|
|
118
|
+
carconnectivity-cli mycarconnectivity_config.json list
|
|
119
|
+
/garage/WVWABCE1ZSD057394
|
|
120
|
+
/garage/WVWABCE1ZSD057394/vin
|
|
121
|
+
/garage/WVWABCE1ZSD057394/type
|
|
122
|
+
/garage/WVWABCE1ZSD057394/odometer
|
|
123
|
+
/garage/WVWABCE1ZSD057394/model
|
|
124
|
+
/garage/WVWABCE1ZSD057394/name
|
|
125
|
+
...
|
|
126
|
+
```
|
|
127
|
+
You can then pass the addresses to the "get" command:
|
|
128
|
+
```bash
|
|
129
|
+
carconnectivity-cli mycarconnectivity_config.json get /garage/WVWABCE1ZSD057394/model
|
|
130
|
+
ID.3
|
|
131
|
+
```
|
|
132
|
+
or the "set" command:
|
|
133
|
+
```bash
|
|
134
|
+
carconnectivity-cli mycarconnectivity_config.json /garage/WVWABCE1ZSD057394/climatisation/command stop
|
|
135
|
+
```
|
|
136
|
+
The "events" command allows you to monitor what is happening on the WeConnect Interface:
|
|
137
|
+
```bash
|
|
138
|
+
carconnectivity-cli mycarconnectivity_config.json events
|
|
139
|
+
2021-05-26 16:49:58.698570: /garage/WVWABCE1ZSD057394/doors/lock_state: new value: unlocked
|
|
140
|
+
2021-05-26 16:49:58.698751: /garage/WVWABCE1ZSD057394/doors/bonnet/lock_state: new value: unknown lock state
|
|
141
|
+
2021-05-26 16:49:58.698800: /garage/WVWABCE1ZSD057394/doors/bonnet/open_state: new value: closed
|
|
142
|
+
2021-05-26 16:49:58.698980: /garage/WVWABCE1ZSD057394/doors/frontLeft/lock_state: new value: unlocked
|
|
143
|
+
2021-05-26 16:49:58.699056: /garage/WVWABCE1ZSD057394/doors/frontLeft/open_state: new value: closed
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### S-PIN
|
|
147
|
+
For some commands (e.g. locking/unlocking supported on some cars) you need in addition to your login the so called S-PIN, you can provide it with the spin config option:
|
|
148
|
+
|
|
149
|
+
### Interactive Shell
|
|
150
|
+
You can also use an interactive shell:
|
|
151
|
+
```
|
|
152
|
+
carconnectivity-cli --username user@mail.de --password test123 shell
|
|
153
|
+
Welcome! Type ? to list commands
|
|
154
|
+
user@mail.de@weconnect-sh:/$update
|
|
155
|
+
update done
|
|
156
|
+
user@mail.de@weconnect-sh:/$cd garage
|
|
157
|
+
user@mail.de@weconnect-sh:/garage$ ls
|
|
158
|
+
..
|
|
159
|
+
WVWABCE1ZSD057394
|
|
160
|
+
WVWABCE13SD057505
|
|
161
|
+
user@mail.de@weconnect-sh:/garage$ cd /garage/WVWABCE13SD057505/status/parkingPosition
|
|
162
|
+
user@mail.de@weconnect-sh:/garage/WVWABCE13SD057505/status/parkingPosition$ cat
|
|
163
|
+
[parkingPosition] (last captured 2021-06-01T19:05:04+00:00)
|
|
164
|
+
Latitude: 51.674535
|
|
165
|
+
Longitude: 16.154376
|
|
166
|
+
user@mail.de@weconnect-sh:/garage/WVWABCE13SD057505/parking/parkingPosition$ exit
|
|
167
|
+
Bye
|
|
168
|
+
```
|
|
169
|
+
### Caching
|
|
170
|
+
By default carconnectivity-cli will cache (store) the data for 300 seconds before retrieving new data from the servers. This makes carconnectivity-cli more responsive and at the same time does not cause unneccessary requests to the vw servers. If you want to increase the cache duration use max_age config option. If you do not want to cache use no_cache option. Please use the no_cache option with care. You are generating traffic with subsequent requests. If you request too often you might be blocked for some time until you can generate requests again.
|
|
171
|
+
|
|
172
|
+
### Credentials
|
|
173
|
+
If you do not want to provide your username or password all the time you have to create a ".netrc" file at the appropriate location (usually this is your home folder):
|
|
174
|
+
```
|
|
175
|
+
machine volkswagen.de
|
|
176
|
+
login test@test.de
|
|
177
|
+
password testpassword123
|
|
178
|
+
```
|
|
179
|
+
You can also provide the location of the netrc file in the configuration.
|
|
180
|
+
|
|
181
|
+
The optional S-PIN needed for some commands can be provided in the account section:
|
|
182
|
+
```
|
|
183
|
+
# For WeConnect
|
|
184
|
+
machine volkswagen.de
|
|
185
|
+
login test@test.de
|
|
186
|
+
password testpassword123
|
|
187
|
+
account 1234
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Tested with
|
|
191
|
+
- Volkswagen ID.3 Modelyear 2021
|
|
192
|
+
- Volkswagen Passat GTE Modelyear 2021
|
|
193
|
+
- Skoda Enyaq RS Modelyear 2025
|
|
194
|
+
|
|
195
|
+
## Reporting Issues
|
|
196
|
+
Please feel free to open an issue at [GitHub Issue page](https://github.com/tillsteinbach/carconnectivity-cli/issues) to report problems you found.
|
|
197
|
+
|
|
198
|
+
### Known Issues
|
|
199
|
+
- The Tool is in alpha state and may change unexpectedly at any time!
|
|
200
|
+
|
|
201
|
+
## Related Projects:
|
|
202
|
+
- [WeConnect-MQTT](https://github.com/tillsteinbach/WeConnect-mqtt): MQTT Client that publishes data from CarConnectivity to any MQTT broker.
|
|
203
|
+
- [CarConnectivity](https://github.com/tillsteinbach/CarConnectivity): The underlying python API behind CarConnectivity-cli. If you are a developer and want to implement an application or service with vehicle telemetry data you can use [CarConnectivity-Library](https://github.com/tillsteinbach/CarConnectivity).
|