Skip to content
A straightforward binding of libsass for Python. Compile Sass/SCSS in Python with no Ruby stack at all!
Python C++ Other
Branch: master
Clone or download
Latest commit f55e74f Oct 6, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Slight improvements to wheel scripts May 18, 2019
docs 0.19.3 Oct 6, 2019
libsass @ 4da7c4b Update to libsass 3.6.2 Oct 6, 2019
sassutils Run pre-commit autoupdate Mar 22, 2019
test Add more cli opts and source map config args Dec 17, 2018
testpkg Format / lint via pre-commit Aug 23, 2018
.ackrc Version bump Aug 10, 2014
.coveragerc azure pipelines [skip travis] [skip appveyor] May 18, 2019
.gitignore Change ignored cache dir for pytest 3.4.0 Feb 18, 2018
.gitmodules Point at sass/libsass Jan 30, 2015
.pre-commit-config.yaml Run pre-commit autoupdate Mar 22, 2019
CODE_OF_CONDUCT.md https-ify sass-lang.com urls Mar 4, 2019
CONTRIBUTING.rst azure pipelines [skip travis] [skip appveyor] May 18, 2019
LICENSE Update some older links to https Feb 11, 2018
MANIFEST.in include LICENSE file in distributions Sep 6, 2017
Makefile Format / lint via pre-commit Aug 23, 2018
README.rst azure pipelines [skip travis] [skip appveyor] May 18, 2019
azure-pipelines.yml workaround py27 build bug by deleting libsass tests May 18, 2019
pysass.cpp add support for passing previous file to importer callback Feb 14, 2019
pysassc.py Add more cli opts and source map config args Dec 17, 2018
requirements-dev.txt Format / lint via pre-commit Aug 23, 2018
sass.py 0.19.3 Oct 6, 2019
sassc.py Deprecate sassc for pysassc Aug 27, 2018
sasstests.py libsass 3.6.0 May 18, 2019
setup.cfg azure pipelines [skip travis] [skip appveyor] May 18, 2019
setup.py azure pipelines [skip travis] [skip appveyor] May 18, 2019
tox.ini azure pipelines [skip travis] [skip appveyor] May 18, 2019

README.rst

libsass-python: Sass/SCSS for Python

PyPI Build Status Coverage Status

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.5--3.7, 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 using setup.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:

https://sass.github.io/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.

You can’t perform that action at this time.