These cumulative pre-release notes combine versions:

  • 1578640616
  • 1575000759
  • 1574827307

Major Changes

Dumping PEX headers

When a PEX file is passed to Pyro, Pyro will dump the header to stdout.

Usage: pyro -i file.pex

Dumping PPJ files with resolved paths

When a PPJ file is passed to Pyro and the --resolve-ppj argument is provided, Pyro will resolve any variables and dump the contents to stdout.

Usage: pyro -i myproject.ppj --resolve-ppj

Using remote imports

When a GitHub URL is used as an Import path, Pyro will download the respective files and use the download location as the import path.

<Import>https://github.com/fireundubh/skyui/tree/master/dist/Data/Scripts/Source</Import>
<Import>https://api.github.com/repos/fireundubh/skyui/contents/dist/Data/Scripts/Source?ref=master</Import>

To import from GitHub repositories, the following arguments have been added:

Argument Required Type Description Default Value
--access-token true (when using remotes) bool your personal access token
(must have public_repo access scope)  
--force-overwrite false bool download remote files and overwrite existing files (default: skip download when remote folder exists) false
--remote-temp-path false str relative or absolute path to temp folder for remote files (if relative, must be relative to project) {program_path}\remote

Other Changes

  • Updated Nuitka from v0.6.5 to v0.6.6 (release notes)
  • Limited priority of parallel processes to "below normal"
  • Implemented anonymization of script paths in compiled script headers
  • Added compilation statistics to build output (e.g., # of scripts, # of successes, # of failures, time per script, total time)
  • Allowed using . as RootDir path in Include nodes
  • Allowed using absolute folder paths within RootDir in Include nodes
  • Allowed using environment and user variables in PPJ files
  • Under-the-hood optimizations and reduced overall memory footprint

Fixes

  • Fixed issue where glob expressions could be parsed incorrectly
  • Fixed issue where compiled scripts were not packaged when deeper RootDir passed (e.g., @project\scripts)
  • Fixed issue where files outside RootDir could be zipped
  • Fixed issue where excessively long commands (>32768 chars) could be passed to the compiler
  • Fixed issue where time values were subject to floating point errors
  • Fixed issue where TimeElapsed values were not converted from floats to Decimal
  • Fixed issue where ZeroDivisionError could be raised when computing average compilation time
  • Fixed issue where build process would continue if scripts failed to compiled
  • Fixed issue where packaging failed late if existing packages could not be overwritten
  • Fixed issue where duplicate package names were not properly changed
  • Fixed issue where scripts that import other scripts would fail to compile if imported scripts were not first compiled
  • Fixed issue where unnecessary import paths were passed to compiler which could produce strange errors
  • Fixed issue where variable substitutions in Variable values were executed in only first-last order
  • Fixed issue where Variable names were not restricted to alphanumeric characters
Let's Play with Fire