Sublime Forum

Packages

#1

The next beta should include some improvements in package support. It’s only the basics at this stage, with the rest to be done when things are a little more settled.

I’m planning for the next beta to include:
* Support installing downloaded sublime-package files via double clicking in explorer.
* Provide a writable location *.sublime-packages may be downloaded to, as users to not generally have write access to Program Files under Vista.
(Will be something like Application Data/Sublime Text/Installed Packages)
* API calls to interact with sublime-package files, at the minimum giving the ability to extract a new one that’s that’s just been placed in the Installed Packages directory.

In the future, some sort of support will be needed for:
- Declaring per package meta data, including version numbers.
- Declaring dependencies in the meta data, on both other packages and dependencies on versions of Sublime Text itself.
- API support for enumerating installed packages and their meta data.

This still leaves unresolved how to include python libraries within a package. The simplest option is to allow .egg and .pyd files included in the package to be imported. This works, but doesn’t address the issue of multiple packages including different versions of the same egg files.

My inclination is to not worry about this too much, and to have commonly used python libraries either included by default, or placed in a stand alone package that other packages depend on.

I’m not keen on any sort of integration with the system version of Python, due to most people not having it, and others who have it but have an incompatible version or a broken install.

Another option is to have packages not include python libraries, but just to declare a dependency on them and then have them fetched via a somewhat customised version of easy_install. It doesn’t entirely remove conflicts between packages though, and it would mean many packages wouldn’t be installable without an internet connection.

0 Likes

#2

Support installing downloaded sublime-package files via double clicking in explorer.
Provide a writable location *.sublime-packages may be downloaded to, as users to not generally have write access to Program Files under Vista.

Once this arrives, I may change the package downloader so that it downloads packages here, and either prompts the user, or lets the double-click to install.

As a side-note, I’ve had to write my own hacky versions of functions that find the ST pristine packages folder, the user’s packages folder, etc. Any chance of official functions that find these folders?

The easy_install angle, from my limited understanding, suggests that sublime packages could start to include setup.py files to declare their dependencies, and themselves be first-class eggs? My understanding is a bit shakey here. But with the subversion repository, and easy_install’s ability to build eggs automatically from svn, we may have the ability to automatically build and package straight from the repository.

I’m not keen on any sort of integration with the system version of Python

Makes total sense. I think people are hacking it only because they don’t have the ability to install dependencies.

0 Likes