Version v1.2.11 as of 2024-10-01 see Changelog
some platform related functions, which also work correctly on wine
automated tests, Github Actions, Documentation, Badges, etc. are managed with PizzaCutter (cookiecutter on steroids)
Python version required: 3.8.0 or newer
tested on recent linux with python 3.8, 3.9, 3.10, 3.11, 3.12, pypy-3.9, pypy-3.10, graalpy-24.1 - architectures: amd64
100% code coverage, flake8 style checking ,mypy static type checking ,tested under Linux, macOS, Windows, automatic daily builds and monitoring
- Try it Online
- Usage
- Usage from Commandline
- Installation and Upgrade
- Requirements
- Acknowledgements
- Contribute
- Report Issues
- Pull Request
- Code of Conduct
- License
- Changelog
You might try it right away in Jupyter Notebook by using the "launch binder" badge, or click here
>>> import lib_platform
>>> # get system as string
>>> system = lib_platform.system
>>> # bool is_platform_linux
>>> is_platform_linux = lib_platform.is_platform_linux
>>> # bool is_platform_darwin
>>> is_platform_darwin = lib_platform.is_platform_darwin
>>> # bool is_platform_posix
>>> # either darwin or linux
>>> is_platform_posix = lib_platform.is_platform_posix
>>> # bool is_platform_windows
>>> # also True for windows_xp or windows_wine
>>> is_platform_windows = lib_platform.is_platform_windows
>>> # bool is_platform_windows_xp
>>> is_platform_windows_xp = lib_platform.is_platform_windows_xp
>>> # bool is_platform_windows_wine
>>> is_platform_windows_wine = lib_platform.is_platform_windows_wine
>>> # bool is_platform_windows_wine_xp
>>> is_platform_windows_wine_xp = lib_platform.is_platform_windows_wine_xp
>>> # string username lib_platform.username
>>> username = lib_platform.username
>>> # string fqdn hostname
>>> hostname = lib_platform.hostname
>>> # string hostname short
>>> hostname_short = lib_platform.hostname_short
>>> # path to userhome
>>> path_userhome = lib_platform.path_userhome
>>> # is user administrator (has user admin rights)
>>> is_user_admin = lib_platform.is_user_admin
Usage: lib_platform [OPTIONS] COMMAND [ARGS]... some platform related functions, which also work correctly on wine Options: --version Show the version and exit. --traceback / --no-traceback return traceback information on cli -h, --help Show this message and exit. Commands: info get program informations
- Before You start, its highly recommended to update pip:
python -m pip --upgrade pip
- to install the latest release from PyPi via pip (recommended):
python -m pip install --upgrade lib_platform
- to install the latest release from PyPi via pip, including test dependencies:
python -m pip install --upgrade lib_platform[test]
- to install the latest version from github via pip:
python -m pip install --upgrade git+https://github.com/bitranox/lib_platform.git
- include it into Your requirements.txt:
# Insert following line in Your requirements.txt: # for the latest Release on pypi: lib_platform # for the latest development version : lib_platform @ git+https://github.com/bitranox/lib_platform.git # to install and upgrade all modules mentioned in requirements.txt: python -m pip install --upgrade -r /<path>/requirements.txt
- to install the latest development version, including test dependencies from source code:
# cd ~ $ git clone https://github.com/bitranox/lib_platform.git $ cd lib_platform python -m pip install -e .[test]
- via makefile: makefiles are a very convenient way to install. Here we can do much more, like installing virtual environments, clean caches and so on.
# from Your shell's homedirectory:
$ git clone https://github.com/bitranox/lib_platform.git
$ cd lib_platform
# to run the tests:
$ make test
# to install the package
$ make install
# to clean the package
$ make clean
# uninstall the package
$ make uninstall
following modules will be automatically installed :
## Project Requirements
click
cli_exit_tools
lib_registry
- special thanks to "uncle bob" Robert C. Martin, especially for his books on "clean code" and "clean architecture"
I would love for you to fork and send me pull request for this project. - please Contribute
This software is licensed under the MIT license
---
- new MAJOR version for incompatible API changes,
- new MINOR version for added functionality in a backwards compatible manner
- new PATCH version for backwards compatible bug fixes
- 2024-09-29:
- add graalpy tests
- 2023-10-13:
- patch doctest for osx
- 2023-07-21:
- require minimum python 3.8
- remove python 3.7 tests
- introduce PEP517 packaging standard
- introduce pyproject.toml build-system
- remove mypy.ini
- remove pytest.ini
- remove setup.cfg
- remove setup.py
- remove .bettercodehub.yml
- remove .travis.yml
- update black config
- clean ./tests/test_cli.py
- add codeql badge
- move 3rd_party_stubs outside the src directory to
./.3rd_party_stubs
- add pypy 3.10 tests
- add python 3.12-dev tests
- 2022-11-09:
- fix get hostname, if something is tinkering with the loopback interface on Windows - for instance 'Solid Works 3DExperience'
- 2020-10-09: service release
- update travis build matrix for linux 3.9-dev
- update travis build matrix (paths) for windows 3.9 / 3.10
- 2020-08-08: service release
- fix documentation
- fix travis
- deprecate pycodestyle
- implement flake8
2020-08-01: fix pypi deploy
2020-07-31: fix travis build
- 2020-07-29: feature release
- use the new pizzacutter template
- use cli_exit_tools
- 2020-07-16: feature release
- fix cli test
- enable traceback option on cli errors
- 2020-07-14 : patch release
- make it compatible with latest lib_registry
- 2020-07-07 : service release
- new click cli
- use PizzaCutter Template
- added jupyter notebook
- dropped python2.7 - python3.5 support
2019-06-14: add is_user_admin (check for administration rights)
2019-04-28: Documentation Update, minor Fixes in setup.py
2019-03-28: Initial public release, PyPi Release