Sass/SCSS for Python
libsass-python:This package provides a simple Python extension module sass
which is
binding Libsass (written in C/C++ by Hampton Catlin and Aaron Leung).
It's very straightforward and there isn't any headache related Python
distribution/deployment. That means you can add just libsass
into
your setup.py
's install_requires
list or requirements.txt
file.
Need no Ruby nor Node.js.
It currently supports CPython 2.7, 3.4--3.6, and PyPy 2.3+!
Features
- You don't need any Ruby/Node.js stack at all, for development or deployment either.
- Fast. (Libsass is written in C++.)
- Simple API. See the below example code for details.
- Custom functions.
@import
callbacks.- Support both tabbed (Sass) and braces (SCSS) syntax.
- WSGI middleware for ease of development. It automatically compiles Sass/SCSS files for each request.
setuptools
/distutils
integration. You can build all Sass/SCSS files usingsetup.py build_sass
command.- Works also on PyPy.
- Provides prebuilt wheel binaries for Linux, Windows, and Mac.
Install
It's available on PyPI, so you can install it using pip
(or
easy_install
):
$ pip install libsass
Note
libsass requires some features introduced by the recent C++ standard. You need a C++ compiler that support those features. See also libsass project's README file.
Example
>>> import sass
>>> print sass.compile(string='a { b { color: blue; } }')
a b {
color: blue; }
Docs
There's the user guide manual and the full API reference for libsass
:
http://hongminhee.org/libsass-python/
You can build the docs by yourself:
$ cd docs/
$ make html
The built docs will go to docs/_build/html/
directory.
Credit
Hong Minhee wrote this Python binding of Libsass.
Hampton Catlin and Aaron Leung wrote Libsass, which is portable C/C++ implementation of SASS.
Hampton Catlin originally designed SASS language and wrote the first reference implementation of it in Ruby.
The above three softwares are all distributed under MIT license.