Giter Site home page Giter Site logo

vulcan-py's People

Contributors

d-glenz avatar fvannee avatar thirdegree avatar wisepotato avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vulcan-py's Issues

No release notes

It would be good to have a place for release notes so we can read about what has changed between releases

Minimal configuration errors due to missing `tool.vulcan` configuration

With the minimal pyproject.toml listed in the README.md, vulcan errors with the following:

$ vulcan add textual

Traceback (most recent call last):
  File "/home/dan/.local/bin/vulcan", line 8, in <module>
    sys.exit(main())
  File "/home/dan/.local/pipx/venvs/vulcan-py/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/dan/.local/pipx/venvs/vulcan-py/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/dan/.local/pipx/venvs/vulcan-py/lib/python3.10/site-packages/click/core.py", line 1654, in invoke
    super().invoke(ctx)
  File "/home/dan/.local/pipx/venvs/vulcan-py/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/dan/.local/pipx/venvs/vulcan-py/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/dan/.local/pipx/venvs/vulcan-py/lib/python3.10/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/dan/.local/pipx/venvs/vulcan-py/lib/python3.10/site-packages/vulcan/cli.py", line 54, in main
    ctx.obj = Vulcan.from_source(Path().absolute(), fail_on_missing_lock=False)
  File "/home/dan/.local/pipx/venvs/vulcan-py/lib/python3.10/site-packages/vulcan/__init__.py", line 75, in from_source
    config = all_config['tool']['vulcan']  # type: ignore[index]
  File "/home/dan/.local/pipx/venvs/vulcan-py/lib/python3.10/site-packages/tomlkit/container.py", line 650, in __getitem__
    raise NonExistentKey(key)
tomlkit.exceptions.NonExistentKey: 'Key "tool" does not exist.'

I think the appropriate solution is to not require an empty [tool.vulcan] section as apposed to adding the blank section to the configuration.

On a side note, "dependencies" should probably be added to the dynamic array

build-system.requires list is not installed in the venv when calling vulcan lock

steps to reproduce:
pyproject.toml:

[project]
name = "python3-experimental"
description = "build-system.requires list is not installed in the venv when calling vulcan lock"
requires-python = ">=3.6"

[build-system]
requires = [ "vulcan-py~=1.0", "setuptools<58", "Cython==0.27.3" ]
build-backend = "vulcan.build_backend"

[tool.vulcan]
pacakges = []
no-lock = true

[tool.vulcan.dependencies]
quadprog = "==0.1.6"
python3.6 -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip
vulcan lock

vulcan lock will complain whereas

python -m pip install Cython==0.27.3
python -m pip install quadprog==0.1.6

will successfully install it

Current editable install results in pytest warning about "module already imported"

e.x.

../../../.virtualenvs/myvirtualenv/lib/python3.6/site-packages/_pytest/config/__init__.py:1114                                                                                                
  /home/thirdegree/.virtualenvs/myvirtualenv/lib/python3.6/site-packages/_pytest/config/__init__.py:1114: PytestAssertRewriteWarning: Module already imported so cannot be rewritten: _mylib                                                                             
    self._mark_plugins_for_rewrite(hook)                                                                                                                                                                        
                                                                                                    
-- Docs: https://docs.pytest.org/en/stable/warnings.html                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                            
----------- coverage: platform linux, python 3.6.5-final-0 -----------

This can be fixed if the contents of the .pth file generated by the editables library (import _mylib) is replaced by:

# workspace root
/absolute/path/to/project/root

But then the behavior of the editable install might be different... Need to investigate further. Also not sure if this is an issue worth fixing in the first place. In the meantime this serves as documentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.