Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Splitting out helper scripts as a separate project #1639

Closed
felipesanches opened this issue Oct 31, 2017 · 12 comments
Closed

Splitting out helper scripts as a separate project #1639

felipesanches opened this issue Oct 31, 2017 · 12 comments

Comments

@felipesanches
Copy link
Collaborator

I would like to consider and discuss here the idea of eventually splitting fontbakery into 2 separate python packages:

  • (a) FontBakery itself as a tool exclusively focused on quality assurance of font families. A.k.a. the "ultimate typography testsuite".
  • (b) A second package to host helper scripts such as the plethora of scripts we currently have in our bin/ directory. A whole bunch of tiny tools for inspecting and hotfixing font files.

The rationale to that proposal relates to a common complain about the difficulty to install fontbakery on a system due to its large number of dependencies. The testsuite portion of the code still requires a lot of dependencies, but there are things that are really only needed on the scripts.

It seems to me that a fontbakery-scripts package could pretty easily list fontbakery as a dependency in its setup.py so that it would be doable to install everything by simply performing a pip install fontbakery-scripts, but users who only need to run the testsuite can skip installing the scripts and their extra dependencies.

A second reason is simply the fact that right now the project tries to accomplish 2 fairly separate purposes: (a) QA automated reports and (b) code snippets for font inspection & hotfixing.

@graphicore
Copy link
Collaborator

I like this. We should do it so that #1515 is satisfied as well. @chrissimpkins suggested using PEP 420 - Implicit Namespace Packages which is already a python built in.

@davelab6
Copy link
Contributor

We should probably move (b) into https://github.com/googlefonts/tools :)

@graphicore
Copy link
Collaborator

graphicore commented Oct 31, 2017

Uh, seems like PEP 420 support for python 2.7 is suboptimal pypa/setuptools#406 (comment)

@chrissimpkins
Copy link
Member

👍

@anthrotype
Copy link
Member

pkgutil-style namespace packages work well in both python 2 and 3
https://packaging.python.org/guides/packaging-namespace-packages/

felipesanches added a commit to felipesanches/tools that referenced this issue Oct 31, 2017
Font Bakery from now on will be focused on a sigle purpose:
a Quality-Assurance automated testing framework for font families.
(issue googlefonts#3 and fonttools/fontbakery#1639)
felipesanches added a commit to felipesanches/tools that referenced this issue Nov 2, 2017
Font Bakery from now on will be focused on a sigle purpose:
a Quality-Assurance automated testing framework for font families.
(issue googlefonts#3 and fonttools/fontbakery#1639)
felipesanches added a commit to googlefonts/gftools that referenced this issue Nov 4, 2017
Font Bakery from now on will be focused on a sigle purpose:
a Quality-Assurance automated testing framework for font families.
(issue #3 and fonttools/fontbakery#1639)
felipesanches added a commit to felipesanches/fontbakery that referenced this issue Nov 5, 2017
@chrissimpkins
Copy link
Member

You decide to transition all QA tools to the tools repo?

@felipesanches
Copy link
Collaborator Author

felipesanches commented Nov 6, 2017

yes. It is all there and it is also already available as a pip package since this weekend when I made a first release of gftools. Install it with:

pip install gftools

and use it just like you used fontbakery (with the subcommands and so on...)

@felipesanches
Copy link
Collaborator Author

@chrissimpkins
Copy link
Member

Thanks for the link Felipe!

@felipesanches
Copy link
Collaborator Author

you're welcome!

I'll also add that info to the README and to the CHANGELOG !

@felipesanches felipesanches reopened this Nov 6, 2017
felipesanches added a commit to felipesanches/fontbakery that referenced this issue Nov 7, 2017
...auxiliary scripts into a separate python package called gftools
(which stands for Google Fonts Tools) and is available at
 http://pypi.python.org/gftools and https://github.com/googlefonts/tools/
(issue fonttools#1639)
felipesanches added a commit that referenced this issue Nov 7, 2017
...auxiliary scripts into a separate python package called gftools
(which stands for Google Fonts Tools) and is available at
 http://pypi.python.org/gftools and https://github.com/googlefonts/tools/
(issue #1639)
@felipesanches
Copy link
Collaborator Author

done!

@davelab6
Copy link
Contributor

davelab6 commented Nov 7, 2017

Congrats!

This is a pretty big change so I suggest to tag and release 0.3.3 soon (like this week)

I moved stuff from 0.3.3 to 0.3.4 - does https://github.com/googlefonts/fontbakery/milestone/61 look doable this week?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants