Disable Poetry "package mode" #145
                
     Merged
            
            
          
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
The project's Python package dependencies are managed using the Poetry tool.
By default, Poetry is configured in "package mode", which is intended for use with projects that are a Python package. When Poetry is used in a project like this that is a standalone script, this configuration is in appropriate and has the following effects:
poetry installcommand installs the project as a Python package in addition to the dependencies.name,version,description, andauthorsfields of thepyproject.tomlfile are required.Installing the project as a package is completely inappropriate if the project is not a package, and may cause the command to fail with a cryptic error. This can be avoided by passing the
--no-rootflag to theinstallcommand, but that increases the usage complexity and chance for user error.Although metadata fields under the
tool.poetrysection of thepyproject.tomlconfiguration file are important for a package, in a non-package project there are better ways to provide that information. Since Git tags are used for versioning, the presence of aversionfield is especially harmful since it means duplication of information and extra work for the project maintainer (and likelihood the metadata will not be kept updated).This "package mode" can be disabled via the
pyproject.tomlconfiguration file, which causes Poetry to operate purely in the sole capacity in which it is used by this project: to manage dependencies.