Skip to main content

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

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thespiae-0.1.tar.gz (54.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thespiae-0.1-py3-none-any.whl (42.5 kB view details)

Uploaded Python 3

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

Hashes for thespiae-0.1.tar.gz
Algorithm Hash digest
SHA256 d7892f18017ff4680479ce18c7fad7ab096104203d44164e51d1297943161766
MD5 50a79a4fae661f3c5ed67a3aa9eaa2ba
BLAKE2b-256 360539e9a6070cd320bfa540609186ccb43c51a2d9537409158d4a44e49632cf

See more details on using hashes here.

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

Hashes for thespiae-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ccc187acd63f986aec14a69f5ed5cb0b3d44ba4ba64a8cf2694209c54dfbba53
MD5 c9b0e1ed422f928bfdd4fc3f2c19a2e8
BLAKE2b-256 06cc8a2aabf6e825b640449ce0388eaab10434782cd34424ae2485700cbe0539

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page