KotlinIsland / basedmypy

Based Python static type checker with baseline, sane default settings and based typing features
https://kotlinisland.github.io/basedmypy/
Other
146 stars 4 forks source link

Conda-forge? #822

Open lucascolley opened 6 hours ago

lucascolley commented 6 hours ago

Could this library be made installable via conda-forge?

KotlinIsland commented 4 hours ago

sure, how is that achieved?

lucascolley commented 3 hours ago

One of us makes a PR like https://github.com/conda-forge/staged-recipes/pull/27690, requesting to create a "feedstock" for the package, with me and/or you under recipe-maintainers. The script can be autogenerated using grayskull:

{% set name = "basedmypy" %}
{% set version = "2.7.0" %}

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

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

build:
  skip: true  # [py<38]
  entry_points:
    - mypy=mypy.__main__:console_entry
    - stubgen=mypy.stubgen:main
    - stubtest=mypy.stubtest:main
    - dmypy=mypy.dmypy.client:console_entry
    - mypyc=mypyc.__main__:main
  script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation
  number: 0

requirements:
  host:
    - python
    - setuptools >=40.6.2
    - wheel >=0.30.0
    - basedtyping >=0.1.4
    - typing_extensions >=4.6.0
    - mypy_extensions >=1.0.0
    - tomli >=1.1.0  # [py<311]
    - types-psutil
    - types-setuptools
    - mypy
    - pip
  run:
    - python
    - basedtyping >=0.1.4
    - typing-extensions >=4.6.0
    - mypy_extensions >=1.0.0
    - tomli >=1.1.0  # [py<311]

test:
  imports:
    - mypy
    - mypyc
  commands:
    - pip check
    - mypy --help
    - stubgen --help
    - stubtest --help
    - dmypy --help
    - mypyc --help
  requires:
    - pip

about:
  summary: Based static typing for Python
  license: Apache-2.0 AND BSD-3-Clause AND EPL-2.0
  license_file:
    - LICENSE
    - mypy/typeshed/LICENSE
    - mypyc/external/googletest/LICENSE

extra:
  recipe-maintainers:
    - lucascolley
    - KotlinIsland

After that, the conda-forge bots will automatically send PRs to release a new version whenever you make a PyPI release.

lucascolley commented 3 hours ago

I can't quite tell whether you vendor googletest here, if so there may be some other changes needed to integrate with https://github.com/conda-forge/gtest-feedstock.

lucascolley commented 3 hours ago

Mypy's recipe is https://github.com/conda-forge/mypy-feedstock/blob/main/recipe/meta.yaml.