Adding vyper to anaconda forge to allow for easy setup.
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.
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.
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.
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.
https://anaconda.org/
https://anaconda.org/conda-forge
https://www.spyder-ide.org/
https://anaconda.org/conda-forge/web3/files
Copyright and related rights waived via CC0
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/)
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:(at least, test dependencies and license should be fixed)
Looks like the license advertised on pypi is still MIT (https://pypi.org/project/vyper/)