Tool to setup Windows-based development environments
Project description
Introduction
Thespiae is a tool to setup Windows-based development environments; doesn’t require remote repository or prebuilt packages. It helps with routine tasks such as downloading, verification, executing/unpacking/copying/removing and PATH environment variable manipulation. You have to specify configuration file (YAML format) and directory to store downloaded distribution files in.
Usage
Commands
thespiae C:\config.yml C:\temp
and
python -m thespiae C:\config.yml C:\temp
tell the tool to use configuration file C:\config.yml and distribution file directory C:\temp.
Thespiae asks you to confirm distribution download and software installation or removal, changes to current user’s PATH environment variable.
Configuration
Please read and accept all corresponding licenses before using this example. Check unit tests for conf and install submodules in the source distribution to learn about config processing features, all supported installation and removal methods.
- name: vagrant
package_url: 'https://releases.hashicorp.com/vagrant/$version/vagrant_${version}_${architecture}.msi'
install_args:
- 'INSTALLDIR=${install_directory}'
- 'REBOOT=ReallySuppress'
- 'LIMITUI=1'
install_directory: 'C:\tools\vagrant\${version}'
uninstall_args:
- 'REBOOT=ReallySuppress'
- '/qb'
architecture: 'x86_64'
versions:
- version: '2.2.4'
file_hash: '0c8cf856ed8c794db2cceef96e8cbd5f0096eeafe851b024fd0dd4b308291026'
product_code: '{56BD544C-6113-42A4-B84C-1310DC50DFAF}'
keep: yes
- name: virtualbox
installer_url: 'https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}-${build}-Win.exe'
install_args:
- '--msiparams'
- 'INSTALLDIR=${install_directory}'
- 'VBOX_INSTALLDESKTOPSHORTCUT=0'
- 'VBOX_INSTALLQUICKLAUNCHSHORTCUT=0'
- 'VBOX_START=0'
- 'LIMITUI=1'
install_directory: 'C:\tools\virtualbox\${version}_${build}'
uninstall_args:
- '/qb'
path_entries:
- '${install_directory}'
versions:
- version: '6.0.4'
build: '128413'
file_hash: 'a7b340eaa8ad9de72373162bcbba3fc0eeed9696fa404a0e5b99c0983151a3fc'
product_code: '{79366295-CD6A-4467-9901-4A7DFCF90F40}'
keep: yes
- name: git
archive_url: 'https://github.com/git-for-windows/git/releases/download/v${version}.windows.1/Git-${version}-64-bit.tar.bz2'
archive_format: 'bztar'
unpack_directory: 'C:\tools\${name}\${version}'
path_entries:
- '${unpack_directory}\cmd'
architecture: 'x86_64'
versions:
- version: '2.21.0'
file_hash: '47f3625a78663797ae3e0dfa31c2e209461915471b0dc79b987aa2d604a8516d'
keep: yes
- name: gnupg
installer_url: 'https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-${version}_${build}.exe'
install_args:
- '/S'
- '/D=${install_directory}'
install_directory: 'C:\tools\${name}\${version}'
uninstaller_path: '${install_directory}\gnupg-uninstall.exe'
uninstall_args:
- '/S'
path_entries:
- '${install_directory}\bin'
architecture: 'x86'
versions:
- version: '2.2.15'
build: '20190326'
file_hash: '24d003adaacdbb16047a3e08fdb40b855f7ecdedc28435c767c88493260d6b25'
keep: yes
Valid value for file_hash field is a SHA-256 distribution file hash. This field can be missing; in that case, no verification is performed for the corresponding entry.
Entries with negative or missing keep field value are considered for removal.
Output
This is output of running Thespiae with the configuration example on Windows 10.
Checking software
Download distribution for
vagrant:2.2.4:x86_64 virtualbox:6.0.4 git:2.21.0:x86_64 gnupg:2.2.15:x86
To install
vagrant:2.2.4:x86_64 virtualbox:6.0.4 git:2.21.0:x86_64 gnupg:2.2.15:x86
Continue? [y/N]:y
Downloading
vagrant:2.2.4:x86_64: 100%|#########################################################| 240M/240M [01:12<00:00, 3.30MB/s]
virtualbox:6.0.4: 100%|#########################################################| 220M/220M [01:12<00:00, 3.02MB/s]
git:2.21.0:x86_64: 100%|#########################################################| 100M/100M [01:12<00:00, 1.38MB/s]
gnupg:2.2.15:x86: 100%|#######################################################| 4.18M/4.18M [01:12<00:00, 57.4kB/s]
Installing software
[1/4] installing vagrant:2.2.4:x86_64
vagrant:2.2.4:x86_64 installed
[2/4] installing virtualbox:6.0.4
virtualbox:6.0.4 installed
[3/4] installing git:2.21.0:x86_64
git:2.21.0:x86_64 installed
[4/4] installing gnupg:2.2.15:x86
gnupg:2.2.15:x86 installed
Checking user PATH
Current user PATH
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
Updated user PATH
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;C:\tools\virtualbox\6.0.4_128413;C:\tools\git\2.21.0\cmd;C:\tools\gnupg\2.2.15
Continue? [y/N]:y
User PATH updated
License
Thespiae is released under version 2.0 of the Apache License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thespiae-0.1.tar.gz.
File metadata
- Download URL: thespiae-0.1.tar.gz
- Upload date:
- Size: 54.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7892f18017ff4680479ce18c7fad7ab096104203d44164e51d1297943161766
|
|
| MD5 |
50a79a4fae661f3c5ed67a3aa9eaa2ba
|
|
| BLAKE2b-256 |
360539e9a6070cd320bfa540609186ccb43c51a2d9537409158d4a44e49632cf
|
File details
Details for the file thespiae-0.1-py3-none-any.whl.
File metadata
- Download URL: thespiae-0.1-py3-none-any.whl
- Upload date:
- Size: 42.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccc187acd63f986aec14a69f5ed5cb0b3d44ba4ba64a8cf2694209c54dfbba53
|
|
| MD5 |
c9b0e1ed422f928bfdd4fc3f2c19a2e8
|
|
| BLAKE2b-256 |
06cc8a2aabf6e825b640449ce0388eaab10434782cd34424ae2485700cbe0539
|