Vyper: Adding Anaconda Support

Created on 3 Nov 2020  路  1Comment  路  Source: vyperlang/vyper

Simple Summary

Adding vyper to anaconda forge to allow for easy setup.

Motivation

A large part of the python user base uses anaconda to manage environments and packages. Anaconda is a OS-agnostic, system-level binary package and environment manager. It allows packages to be installed and managed on the conda enviroment (whether anaconda or miniconda). Currently, it is possible to pip install vyper on anaconda, but the lack of direct conda support might not allow other IDE projects (such as spyder and pycharm) that run on anaconda to offer support. It should be noted that around 2 months ago web3.py had added conda support . I do hope that eventually, projects such as spyder would support languages such as vyper, in order to make debugging with pyTest much more easier and accessible.

Specification

I am not too familiar with the specs here , but given that the package is already provided with pip I'm not sure of how much effort it would take.

Backwards Compatibility

Probably older vyper versions do not need to be supported on conda, although we should maybe at least have the most recent version that works on brownie.

Dependencies

Any dependency for vyper is possible on conda, since that environment manger allows for integration of packages in any high/low level language, unlike pip.

References

https://anaconda.org/
https://anaconda.org/conda-forge
https://www.spyder-ide.org/
https://anaconda.org/conda-forge/web3/files

Copyright

Copyright and related rights waived via CC0

enhancement help wanted

Most helpful comment

For how to add a recipe to conda-forge, see https://conda-forge.org/#add_recipe
One can use https://github.com/conda-incubator/grayskull to generate a basic draft:
Output from grayskull pypi vyper:

{% set name = "vyper" %}
{% set version = "0.2.7" %}


package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/vyper-{{ version }}.tar.gz
  sha256: d825cf43260789cf4ca824e6d5ae51a4b7204340960549417252651a6b0e111b

build:
  number: 0
  noarch: python
  entry_points:
    - vyper=vyper.cli.vyper_compile:_parse_cli_args
    - vyper-serve=vyper.cli.vyper_serve:_parse_cli_args
    - vyper-lll=vyper.cli.vyper_lll:_parse_cli_args
    - vyper-json=vyper.cli.vyper_json:_parse_cli_args
  script: {{ PYTHON }} -m pip install . -vv

requirements:
  host:
    - pip
    - pytest-runner
    - python >=3.6
  run:
    - asttokens ==2.0.3
    - pycryptodome >=3.5.1,<4
    - python >=3.6
    - semantic_version ==2.8.5

test:
  imports:
    - vyper
    - vyper.ast
  commands:
    - pip check
    - vyper --help
    - vyper-serve --help
    - vyper-lll --help
    - vyper-json --help
  requires:
    - pip

about:
  home: https://github.com/vyperlang/vyper
  summary: 'Vyper: the Pythonic Programming Language for the EVM'
  license: MIT
  license_file: .eggs/pytest_runner-5.2-py3.7.egg/EGG-INFO/LICENSE

extra:
  recipe-maintainers:
    - spinoch

(at least, test dependencies and license should be fixed)
Looks like the license advertised on pypi is still MIT (https://pypi.org/project/vyper/)

>All comments

For how to add a recipe to conda-forge, see https://conda-forge.org/#add_recipe
One can use https://github.com/conda-incubator/grayskull to generate a basic draft:
Output from grayskull pypi vyper:

{% set name = "vyper" %}
{% set version = "0.2.7" %}


package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/vyper-{{ version }}.tar.gz
  sha256: d825cf43260789cf4ca824e6d5ae51a4b7204340960549417252651a6b0e111b

build:
  number: 0
  noarch: python
  entry_points:
    - vyper=vyper.cli.vyper_compile:_parse_cli_args
    - vyper-serve=vyper.cli.vyper_serve:_parse_cli_args
    - vyper-lll=vyper.cli.vyper_lll:_parse_cli_args
    - vyper-json=vyper.cli.vyper_json:_parse_cli_args
  script: {{ PYTHON }} -m pip install . -vv

requirements:
  host:
    - pip
    - pytest-runner
    - python >=3.6
  run:
    - asttokens ==2.0.3
    - pycryptodome >=3.5.1,<4
    - python >=3.6
    - semantic_version ==2.8.5

test:
  imports:
    - vyper
    - vyper.ast
  commands:
    - pip check
    - vyper --help
    - vyper-serve --help
    - vyper-lll --help
    - vyper-json --help
  requires:
    - pip

about:
  home: https://github.com/vyperlang/vyper
  summary: 'Vyper: the Pythonic Programming Language for the EVM'
  license: MIT
  license_file: .eggs/pytest_runner-5.2-py3.7.egg/EGG-INFO/LICENSE

extra:
  recipe-maintainers:
    - spinoch

(at least, test dependencies and license should be fixed)
Looks like the license advertised on pypi is still MIT (https://pypi.org/project/vyper/)

Was this page helpful?
0 / 5 - 0 ratings