Hi Jason,

Thanks for your help. I got conda-forge working. You can install symjit on
Windows and Linux (Mac will be coming soon).

Here is the meta.yaml that works:

```
{% set name = "symjit" %}
{% set version = "1.2.1" %}

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

source:
  url: https://pypi.org/packages/source/{{ name[0] }}/{{ name }}/symjit-{{
version }}.tar.gz
  sha256: 8398ceb11d557c5b5bdce4e7d358b741d2d5278d1e374588f5bd6bbb5a581ebd

build:
  noarch: python
  script: {{ PYTHON }} -m pip install . -vv --no-deps --no-build-isolation
  number: 0

requirements:
  build:
    - {{ compiler('rust') }}
    - {{ compiler('c') }}
    - {{ stdlib('c') }}
  host:
    - python >=3.7
    - setuptools
    - setuptools-rust
    - pip
  run:
    - python >=3.7
    - numpy
    - sympy
    - libgcc

test:
  imports:
    - symjit
  commands:
    - pip check
  requires:
    - pip

about:
  home: https://github.com/siravan/symjit
  summary: a light-weight jit for sympy expressions
  license: MIT
  license_file: LICENSE

extra:
  recipe-maintainers:
    - shahriariravanian
```

On Thu, Feb 20, 2025 at 10:35 AM Jason Moore <[email protected]> wrote:

> Hi,
>
> The way conda forge works is that it starts from a source distribution and
> compiles the code using their toolchain (they have a rust toolchain). This
> generates conda binaries, not wheels.
>
> So, to get it to build there on conda forge we have to debug any Rust
> compilation or Rust->Setuptools/python issues. Right now, it is not
> compiling for Linux or Mac and it does compile on Windows, but it doesn't
> seem to run the test file. So something is not quite right. If you have
> tips to fix the build issues, you can post to that PR and we can eventually
> get it built for distribution on conda forge.
>
> Jason
> moorepants.info
> +01 530-601-9791
>
>
> On Thu, Feb 20, 2025 at 3:21 PM Shahriar Iravanian <[email protected]>
> wrote:
>
>> Hi,
>>
>> I’m using setuptools. I should try conda next.
>>
>> Currently, it comes with binaries for Windows, linux x86-64 (built on
>> ubuntu), and raspbian linux (aarch64). No Mac yet. I will try to compile it
>> on a Mac.
>>
>> In the long run, it might be easier to rewrite it in pure python with
>> hardware dependencies confined to the mmap module.
>>
>> Shahriar
>>
>>
>>
>>
>>
>> On Thu, Feb 20, 2025 at 7:50 AM Jason Moore <[email protected]> wrote:
>>
>>> Dear Shahriar,
>>>
>>> I opened a PR to package symjit for conda here:
>>> https://github.com/conda-forge/staged-recipes/pull/29211
>>>
>>> I've never tried building any rust packages. There are a couple issues,
>>> but maybe it has to do with conda-forge. I'm not sure. If you have any tips
>>> you can comment there.
>>>
>>> I much prefer the name "compile_func" over lambdify.
>>>
>>> Jason
>>> moorepants.info
>>> +01 530-601-9791
>>>
>>>
>>> On Thu, Feb 20, 2025 at 12:48 PM Shahriar Iravanian <
>>> [email protected]> wrote:
>>>
>>>> Thanks a lot. Yes, I meant https://www.sympy.org/en/index.html. I will
>>>> send a PR.
>>>>
>>>> Regarding the name, I was thinking about a variation of lambdify but
>>>> couldn't come up with one, so I went with compile_func.
>>>>
>>>> -- Shahriar
>>>>
>>>> On Wed, Feb 19, 2025 at 11:05 PM Jason Moore <[email protected]>
>>>> wrote:
>>>>
>>>>> Yes, this looks interesting, especially that you choose a sane
>>>>> function name "compile_func". We should have named lambdify that.
>>>>>
>>>>> Jason
>>>>> moorepants.info
>>>>> +01 530-601-9791
>>>>>
>>>>>
>>>>> On Wed, Feb 19, 2025 at 11:41 PM Oscar Benjamin <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Shahriar,
>>>>>>
>>>>>> The symjit package sounds very interesting. I will have to take a
>>>>>> look at it.
>>>>>>
>>>>>> I'm not sure what the list of packages you are referring to is.
>>>>>> Presumably a PR to the website can add this?
>>>>>>
>>>>>> https://github.com/sympy/sympy.github.com
>>>>>>
>>>>>> Oscar
>>>>>>
>>>>>> On Wed, 19 Feb 2025 at 22:14, Shahriar Iravanian <
>>>>>> [email protected]> wrote:
>>>>>> >
>>>>>> > Could you please add symjit (https://github.com/siravan/symjit) to
>>>>>> the list of SymPy projects?
>>>>>> >
>>>>>> > Symjit is a lightweight just-in-time (JIT) compiler that directly
>>>>>> translates basic sympy expressions into x86-64 and aarch64 machine codes
>>>>>> (and, optionally, to WebAssembly). Currently, its main utility is to
>>>>>> generate fast numerical functions to feed into different numerical 
>>>>>> solvers
>>>>>> (quadrature, ode solvers...). It has minimum dependency on external
>>>>>> libraries and does not use a separate compiler, such as LLVM. It also 
>>>>>> works
>>>>>> very well in the REPL environment.
>>>>>> >
>>>>>> > In addition, if anyone is interested in collaborating to improve
>>>>>> and extend it, please contact me. There are many possibilities for future
>>>>>> works, such as adding modular arithmetic for fast polynomial 
>>>>>> computations,
>>>>>> adding complex numbers, SIMD instructions, and other instruction sets.
>>>>>> >
>>>>>> > Thanks,
>>>>>> >
>>>>>> > -- Shahriar
>>>>>> >
>>>>>> > --
>>>>>> > You received this message because you are subscribed to the Google
>>>>>> Groups "sympy" group.
>>>>>> > To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> > To view this discussion visit
>>>>>> https://groups.google.com/d/msgid/sympy/7468597d-a73a-4aa6-ae0c-c0dd04105cb5n%40googlegroups.com
>>>>>> .
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "sympy" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To view this discussion visit
>>>>>> https://groups.google.com/d/msgid/sympy/CAHVvXxSYPmF-OkevB3Xz%2BqDYQ04XP9TcYiqdnxNBXguDJrxWMA%40mail.gmail.com
>>>>>> .
>>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to a topic in the
>>>>> Google Groups "sympy" group.
>>>>> To unsubscribe from this topic, visit
>>>>> https://groups.google.com/d/topic/sympy/TBGpgEYtnWw/unsubscribe.
>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>> [email protected].
>>>>> To view this discussion visit
>>>>> https://groups.google.com/d/msgid/sympy/CAP7f1AgM_3x0yi0oc7EvXy0us5moRWHqV6L5T9jRiFTmAiPmVQ%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/sympy/CAP7f1AgM_3x0yi0oc7EvXy0us5moRWHqV6L5T9jRiFTmAiPmVQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "sympy" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>>
>>> To view this discussion visit
>>>> https://groups.google.com/d/msgid/sympy/CABEBXTbWzaEK%3DfZHEvzMPxWUsWfjHpgJmu-zChv_F9KzEXSiWQ%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/sympy/CABEBXTbWzaEK%3DfZHEvzMPxWUsWfjHpgJmu-zChv_F9KzEXSiWQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "sympy" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/sympy/TBGpgEYtnWw/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> To view this discussion visit
>>> https://groups.google.com/d/msgid/sympy/CAP7f1Aj%3DmVXjzsBgAmMYTxKtDhUnpsKFDrFBK%3DbbjWUQq81Szg%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/sympy/CAP7f1Aj%3DmVXjzsBgAmMYTxKtDhUnpsKFDrFBK%3DbbjWUQq81Szg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "sympy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion visit
>> https://groups.google.com/d/msgid/sympy/CABEBXTYFckqvBhiNM-_7zzta5pesqRJVLgSUBTNTX57skCzw0A%40mail.gmail.com
>> <https://groups.google.com/d/msgid/sympy/CABEBXTYFckqvBhiNM-_7zzta5pesqRJVLgSUBTNTX57skCzw0A%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sympy" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sympy/TBGpgEYtnWw/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/sympy/CAP7f1AjVCwUV7jWwSLZW8NQr0uCPBrdDshDfMCtoT5e1wnYzDQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/sympy/CAP7f1AjVCwUV7jWwSLZW8NQr0uCPBrdDshDfMCtoT5e1wnYzDQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/CABEBXTZZeqR1Sm_8n2wQ-e_498ATUWdKOk%3DHveRCvf85wjkZhw%40mail.gmail.com.

Reply via email to