Skip to content

A straightforward binding of libsass for Python. Compile Sass/SCSS in Python with no Ruby stack at all!

License

Notifications You must be signed in to change notification settings

musicinmybrain/libsass-python

This branch is 62 commits behind sass/libsass-python:main.

Folders and files

NameName
Last commit message
Last commit date
Jul 1, 2023
Dec 6, 2022
Dec 29, 2022
May 21, 2021
Mar 25, 2022
Dec 17, 2018
Aug 23, 2018
Aug 10, 2014
May 18, 2019
Mar 13, 2022
Mar 22, 2022
Sep 5, 2023
Mar 4, 2019
Mar 24, 2022
Feb 11, 2018
Sep 6, 2017
Dec 29, 2022
Feb 21, 2020
Mar 25, 2022
Feb 21, 2020
Nov 12, 2022
Mar 25, 2022
May 18, 2019
Jul 1, 2023
Dec 6, 2022

Repository files navigation

libsass-python: Sass/SCSS for Python

PyPI Build Status pre-commit.ci 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. No need for Ruby nor Node.js.

It currently supports CPython 3.7+, and PyPy 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 are all distributed under MIT license.

About

A straightforward binding of libsass for Python. Compile Sass/SCSS in Python with no Ruby stack at all!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 83.7%
  • C 15.9%
  • Other 0.4%