https://github.com/aakarsh/pymacs

Emacs to Python interface

https://github.com/aakarsh/pymacs

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: acs.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Emacs to Python interface

Basic Info
  • Host: GitHub
  • Owner: aakarsh
  • License: gpl-2.0
  • Language: Python
  • Default Branch: master
  • Homepage: pymacs.progiciels-bpi.ca
  • Size: 1.61 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Fork of pinard/Pymacs
Created almost 9 years ago · Last pushed over 12 years ago
Metadata Files
Readme License

README.org

#+TITLE: Pymacs — Notes
#+OPTIONS: H:2

#+BEGIN_QUOTE
  Known translations

  | Document      | Language    | Translator          | Date         |
  |---------------+-------------+---------------------+--------------|
  | This file     | [[http://www.movavi.com/opensource/pymacs-be][Belorussian]] | [[mailto:bukhovko@gmail.com][Paul Bukhovko]]       |              |
  | This file     | [[http://uhrenstore.de/blog/readmedateifurpymacs][German]]      | [[mailto:romanova.anastasyia@gmail.com][Anastasiya Romanova]] | [2012-04-09] |
  | Pymacs manual | [[http://webhostinggeeks.com/science/pymacs-framework-ro][Romanian]]    | [[mailto:alovsov@gmail.com][Alexander Ovsov]]     |              |
#+END_QUOTE

Pymacs is a powerful tool which, once started from Emacs, allows
both-way communication between Emacs Lisp and Python.  Pymacs aims
Python as an extension language for Emacs rather than the other way
around, and this asymmetry is reflected in some design choices.
Within Emacs Lisp code, one may load and use Python modules.  Python
functions may themselves use Emacs services, and handle Emacs Lisp
objects kept in Emacs Lisp space.

The Pymacs manual (either in [[http://pymacs.progiciels-bpi.ca/pymacs.html][HTML format]] or [[http://pymacs.progiciels-bpi.ca/pymacs.pdf][PDF format]]) has
installation instructions, a full description of the API, pointers to
documented examples, to resources, and to other Pymacs sites or
projects.  The distribution also includes the Poor's Python
Pre-Processor (*pppp*) and its manual (either in [[http://pymacs.progiciels-bpi.ca/pppp.html][HTML format]] or [[http://pymacs.progiciels-bpi.ca/pppp.pdf][PDF
format]]).

Source files and various distributions are available through
https://github.com/pinard/Pymacs/.  Please report problems, comments
and suggestions to [[mailto:pinard@iro.umontreal.ca][François Pinard]].

** Notes for 0.25
 <<2012-05-07>> [2012-05-07 lun] Hi everybody.

Pymacs 0.25 is now available.  You may fetch it as one of:

- [[https://github.com/pinard/Pymacs/tarball/v0.25]]
- https://github.com/pinard/Pymacs/zipball/v0.25

depending on if you want a /tar/ or /zip/ archive.

The installation process was modified:

  - Python 3 is now supported.  This required new installation
    mechanics, and a Python pre-processor written for the circumstance
    (named *pppp*).

  - Pymacs now installs a single Python file instead of a Python
    module.  This does not affect users — except maybe a few who chose
    to depend on undocumented internals.

The specifications are pretty stable.  A few additions occurred:

  - Variable *pymacs-python-command* may select which Python interpreter
    to use.

  - A *pymacs-auto-restart* variable lets the user decide what to do if
    the Pymacs helper aborts.

  - The *Let* class got a *pops* method which pops everything in a single
    call.

  - A new API function *pymacs-autoload* serves lazy imports.

There also are miscellaneous changes:

  - Some errors have been corrected, both in the code and in the
    manual.

  - The Emacs Lisp source has been massaged so to become uploadable in
    ELPA's (Emacs Lisp Packages Archives).

XEmacs support seems to be broken, and Jython 2.2 support does not
work yet.  As I am not much of a user of either, this is kept on ice
currently.  Interested collaborators and testers, contact me if you
feel like pushing in these areas!

Nice thanks to Pymacs contributors.  It was much fun working with you
all!

** Notes for 0.24

Whenever I tag a version =-betaN= or such, it might not be fully ready
for public distribution, this is a welcome defect that ELPA cannot
grok such versions.  Someone wanting to upload Pymacs nevertheless
found his way around the limitation by renaming the version, I guess
from =0.24-beta2= to =0.24=.  Undoubtedly, it would have been polite to
check with me first… As beta releases come before real releases, it
should really have been =0.23=.  Anyway, Marmelade now has a Pymacs
0.24.  For avoiding any more confusion, I'm skipping =0.24= — such a
version does not officially exist.

** Notes for 0.23

<<2008-02-15>> [2008-02-15 ven] Hello to everybody, and Emacs users in
the Python community.

Here is Pymacs 0.23!  There has been a while, so I advise current
Pymacs users to switch with caution.  All reported bugs have been
squashed, if we except one about Emacs quit (*C-g*) not being obeyed
gracefully.  A few suggestions have been postponed, to be pondered
later.

The manual is now in reST format, and everything Allout is gone.
Postscript and PDF files are not anymore part of the distribution, you
may find them on the Web site, or use the Makefile if you have needed
tools.  Examples have been moved out of the manual into a new contrib/
subdirectory, which also holds a few new contributions.  The example
of a Python back-end for Emacs Gnus has been deleted.

Python 1.5.2 compatibility has been dropped; use Python 2.2 or better.
The Pymacs manual explains installation procedure, now simplified.
The pymacs-services script is gone, this should ease installing Pymacs
on MS Windows.  There is also a small, still naive validation suite.

The communication protocol has been revised: more clarity, less magic.
Zombie objects are less dreadful by default.  The API now supports
False and True constants, and Unicode strings (within limits set by
Emacs).

Special thanks to those who helped me at creating or testing this
release.

* Informal notes

** <<2012-05-06>> python-mode.el difficulty

[2012-05-07 lun] After I recently acquired a new machine and installed
a flurry of software on it, I was saluted with:

  : pymacs-report-error: Pymacs helper did not start within 30 seconds

The problem turns out to come from *python-mode.el* (a development
copy), which insists on providing and using its own older copy of
Pymacs.  The problem shows in the Pymacs communication buffer: a
failed attempt at importing =Pymacs/__init__.py=.  Indeed, this file
does not exist anymore.  Pymacs now stands as a single file on the
Python side, not as a module.  This yields confusion at run time.  The
problem vanishes if I comment out *python-mode.el* initialization, or
more simply (thanks [[https://github.com/holmboe][holmboe]]) if *py-load-pymacs-p* is set to *nil*.  I'll
talk to Andreas Röhler about this.

** <<2012-05-07>> Using packagers

[2012-05-07 lun] [[https://github.com/gleber][Gleb Peregud]] suggests [[https://github.com/pinard/Pymacs/issues/18][on GitHub]] that we prepare an
ELPA/Marmalade package for Pymacs.  There is also a Python side to be
addressed, and I've been lucky enough to recently meet Éric Araujo,
the *distutils2* / *packaging* maintainer.  The time might be proper to
push a bit on the idea on getting Pymacs on installers.

I saved a few notes on [[file:Emacs.org::*Packaging][Emacs Packaging]].  After having pondering them,
I'll follow Gleb's advice, at least to get started and experiment.
Emacs packagers do not care about Python, and Python packagers ignore
Emacs Lisp installation problems.  The pre-processing step in Pymacs
is another source of concern.  In a word, I'll save the bottle of
champagne for some later time! ☺

There is some complexity in installers, both on Emacs and Python
sides.  It's quite amusing: proponents of either side want an
installer, and dismiss as trivial the problem of installing the other
side.  Emacs users tell me: /Set PYTHONPATH approprietely and forget
about it/.  Python users tell me: /Just put pymacs.el somewhere it will
work, or ask the user/.  My feeling is that to do nicely implies both
an Emacs installer and a Python installer.  There is difference of
perspective as well: for users, simplicity means /both/; for the
maintainer, simplicity means /neither/ ☺.

Owner

  • Name: Aakarsh Nair
  • Login: aakarsh
  • Kind: user
  • Location: Portland, OR
  • Company: www.nentei.com

“The present moment is the only moment available to us and it is the door to all other moments.” ~TNH

GitHub Events

Total
Last Year