unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: david larsson <david.larsson@selfhosted.xyz>
To: Stefan Israelsson Tampe <stefan.itampe@gmail.com>
Cc: Guile User <guile-user@gnu.org>
Subject: Re: python-on-guile
Date: Sun, 09 Feb 2020 20:39:48 +0100	[thread overview]
Message-ID: <d1f937188a4e393cf356dd93f6d725ed@selfhosted.xyz> (raw)
In-Reply-To: <CAGua6m2YW9f12jR2O-Mmy2z8_8Yk2=KF1BsY-MOQBL31xTcuGg@mail.gmail.com>

Thanks for your explanations, but unfortunately I still can't figure out 
how to use this except in the simplest of cases.

I am using the guix package python-on-guile 0.1.0-3.00a51a2 - maybe 
thats outdated?


The simple things I have managed to do, are like:

   (add-to-load-path (dirname (current-filename)))
   (load-compiled python-test.go)

where python-test.go is compiled with:

   guild compile python-test.py --output=python-test.go --from=python

and contains simple things, like:

   f(s):
     a = s + 1
     return a

but if I add statements to python-test.py like:

   import netaddr
   def myfun(a)
     <something using netaddr>

(netaddr is a module installed via: pip3 install --user netaddr)

I receive an error about not finding the module.

I am able to add only the modules which exist in the python-on-guile 
repo, like:

   import sys
   import base64

but Im getting errors, for example Im not able to use things from sys, 
like:

   sys.path.append(<somepath>)
   sys.path.insert(0, <somepath>)

I was able to use some things from base64 but I only received weird 
results when converting between bytevectors and strings between the .scm 
file and .py file. What works fine using python3 python-test.py do not 
usually work when passing either a bytevector or string to the same 
go-compiled file from the .scm file using the python-code. Not sure 
whether there's a problem using python3 vs python2 here?

Essentially, what Im looking for is how to proceed if I want to use 
modules installed via the pip package manager from guile, and what paths 
and imports I need to make, and how I might need to wrap them correctly 
in the scheme and python files to invoke a pip package procedure from 
guile.


Best regards,
David

On 2020-02-09 18:59, Stefan Israelsson Tampe wrote:
> I'm the author of that lib.
> 
> 1)
> 
> The main bindings are reachable through (language python module
> python)
> 
> So you could now go ahead and do
>> (use-modules (language python module python))
>> ;L python
> 
> And you will get a python shell that works quite ok for one liners
> 
> 2)
> 
> If you write a module and place it in a/b/c.py
> you can use the classes and functions theirin by
> 
> (use-modules (a b c))
> 
> 3)
> you can load a .py file as (i hope this work)
>   (load "a.py")
> 
> 4)
> If you place a module in (language python module a.py) you can import
> ir as a usual mode as
>> from a import *
> 
> The documentation is for the macro framework that enables you to work
> with python classes and idioms like python iteration.
> 
> Hope this helps
> /Stefan
> 
> On Sun, Feb 9, 2020 at 6:31 PM david larsson
> <david.larsson@selfhosted.xyz> wrote:
> 
>> Hi everyone,
>> I am trying to wrap my head around how to use the python-on-guile
>> library, but Im struggling. Does anyone have example code that might
>> 
>> help, and which isn't too advanced?
>> 
>> All tips and suggestions appreciated!
>> 
>> Best regards,
>> David



  reply	other threads:[~2020-02-09 19:39 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-09 17:30 python-on-guile david larsson
2020-02-09 17:59 ` python-on-guile Stefan Israelsson Tampe
2020-02-09 19:39   ` david larsson [this message]
     [not found]     ` <CAGua6m1aQuwGu4ZRRk9r1Ytao_QjftzCQK5+tb_B4axh-Y3aWg@mail.gmail.com>
     [not found]       ` <CAGua6m1VFHsaid+CGUN==3AvXqZTZUO8xbOSh3r4xNVTAik79g@mail.gmail.com>
     [not found]         ` <CAGua6m3vTY=hk8QaEoKUvFwPsm7N-uatMV1KyvgdAyKS4Gjh9g@mail.gmail.com>
2020-02-10 12:13           ` python-on-guile david larsson
2020-02-10 14:40             ` python-on-guile Stefan Israelsson Tampe
2020-02-10 14:46             ` python-on-guile Stefan Israelsson Tampe
2020-02-10 20:11             ` python-on-guile Stefan Israelsson Tampe
2020-02-11  7:17               ` python-on-guile david larsson
2020-02-11 10:44                 ` python-on-guile Stefan Israelsson Tampe
2020-02-11 20:57                 ` python-on-guile Stefan Israelsson Tampe
2020-02-12  9:18                   ` python-on-guile david larsson
2020-02-12  9:59                     ` python-on-guile Stefan Israelsson Tampe
2020-02-12 15:26                       ` python-on-guile david larsson
     [not found]                         ` <CAGua6m2SP2RZ1Ok5bG2xmoHGanmRUrfaG34yY7P8=AWs0fXw2g@mail.gmail.com>
2020-02-12 19:47                           ` python-on-guile david larsson
     [not found]                             ` <CAGua6m1rcNZT_15LN=dWRb66E93UyLDFfdkaJjmyWYerWE9Jpg@mail.gmail.com>
     [not found]                               ` <46dbd813788cc3d1dc0b994106c8a528@selfhosted.xyz>
     [not found]                                 ` <CAGua6m12ytkdDcHj+PEx615qCzaXPB4P+u-DCqWQexuRo28BWA@mail.gmail.com>
2020-02-13  7:30                                   ` python-on-guile david larsson
     [not found]                                     ` <CAGua6m2+hEpGf8Z+CfyO+-mKH4sQF-mVb7YS1=+88hF2bRkjPw@mail.gmail.com>
2020-02-18 10:45                                       ` python-on-guile david larsson
     [not found]                                         ` <CAGua6m0d=L9b9MEMYekX0tL0PO3k+ZR+LP=7YYQojzr0VYdkmw@mail.gmail.com>
2020-02-19  7:30                                           ` python-on-guile david larsson
  -- strict thread matches above, loose matches on Subject: below --
2021-04-23 15:00 Python-on-guile Mikael Djurfeldt
2021-04-23 20:35 ` Python-on-guile Zelphir Kaltstahl
2021-04-23 20:41 ` Python-on-guile Linus Björnstam
2021-04-23 21:04 ` Python-on-guile Matt Wette
2021-04-24  9:43   ` Python-on-guile Mikael Djurfeldt
2021-04-24 10:04 ` Python-on-guile Mikael Djurfeldt
2021-04-24 11:26   ` Python-on-guile Stefan Israelsson Tampe
2021-04-24 12:59     ` Python-on-guile Stefan Israelsson Tampe
2021-04-24 14:41       ` Python-on-guile Stefan Israelsson Tampe
2021-04-24 15:19         ` Python-on-guile Stefan Israelsson Tampe
2021-04-25  8:20           ` Python-on-guile Mikael Djurfeldt
2021-04-25 10:21             ` Python-on-guile Stefan Israelsson Tampe
2021-04-25  8:46           ` Python-on-guile Stefan Israelsson Tampe
2021-04-25 10:54       ` Python-on-guile Dr. Arne Babenhauserheide
2021-04-25 11:54         ` Python-on-guile Vivien Kraus via General Guile related discussions
2021-04-25 10:18 ` Python-on-guile Stefan Israelsson Tampe
2021-04-27 12:29 ` Python-on-guile Nala Ginrut
2019-07-09 17:15 python-on-guile Stefan Israelsson Tampe
2019-06-14 18:06 python-on-guile Stefan Israelsson Tampe
2019-06-22 21:07 ` python-on-guile Arne Babenhauserheide
2019-06-26 18:45 ` python-on-guile Nala Ginrut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d1f937188a4e393cf356dd93f6d725ed@selfhosted.xyz \
    --to=david.larsson@selfhosted.xyz \
    --cc=guile-user@gnu.org \
    --cc=stefan.itampe@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).