https://pantsbuild.org/ logo
c

curved-manchester-66006

03/15/2022, 3:13 PM
HI! Haven't used pants much since ~2016 and have what I hope are easy questions on where things currently stand: ā€¢ If I want to run a python Language Server, I can maybe glue something together with
pants export
, but there isn't any magic 'out of the box'. Is that right? (I saw https://github.com/pantsbuild/pants/issues/13260) ā€¢ Pants itself is bootstrapped as a python app with a rust core (python code calling rust), but there isn't a blessed/official/supported way to have python targets depending on rust targets today?
e

enough-analyst-54434

03/15/2022, 3:17 PM
RE: Python Language Server - correct. Tom is working hard on BSP support as we speak but it's not ready yet. RE: Python -> Rust - correct. We don't dogfood Pants fully yet to build Pants, the Rust bit is behind a bootstrap script. The best you can do today is use a
python_distribution
target that wraps up your Rust build if that ~works (If you use something like https://github.com/PyO3/setuptools-rust).
āž• 2
b

bitter-ability-32190

03/15/2022, 3:18 PM
ā€¢ That is correct. I'm hopeful by end of year we'll see some Python LSP support by Pants šŸ¤ž ā€¢ It's actually Python -> Rust (multiple threads) -> Python šŸŽ‰ . But you're correct Pants itself doesn't support Rust as a language. Of course, contributions are welcome! The community is happy to guide/support
šŸ™Œ 2
šŸ¤ž 2
+1 to John's mention of
python_distribution
. All the pieces should exist to allow you to compile a Rust C Python extension and have your Python code call it. However some of that process requires careful wiring/setup on your machine.
e

enough-analyst-54434

03/15/2022, 3:20 PM
FWIW, on the Python -> Rust bit via
python_distribution
(https://www.pantsbuild.org/docs/python-distributions), that's how some folks get by today for Python -> Cython, although there is work towards a 1st class Cython support plugin.
c

curved-manchester-66006

03/15/2022, 3:27 PM
Thanks for the answers and context!
ā¤ļø 1
7 Views