awesome-pharo

Development toolkit

A curated collection of Pharo libraries, tools, and frameworks for various software development tasks

A collection of awesome Pharo libraries, tools, frameworks and software.

GitHub

285 stars
26 watching
30 forks
last commit: 10 months ago
Linked from 1 awesome list

awesomeawesome-listdocumentationlibrariespharosmalltalk

Awesome Pharo / Algorithms

DeepTraverser 8 almost 6 years ago Library for traversing object graphs (managing cycles)
FuzzySearcher 2 over 2 years ago Simplified implementation of ambiguous matching algorithm based on Baeta-Yates, R.A., Gonnet, G.H., Wu, S. and Manber, U
StableMarriage 3 almost 7 years ago A solver for the stable marriage problem written in Pharo

Awesome Pharo / Artificial Intelligence and Machine Learning

Keras Wrapper 9 11 months ago Allows to use functions within Pharo
NEAT (NeuroEvolution of Augmenting Topologies) 16 over 4 years ago A genetic algorithm for evolving artificial neural networks. NEAT is probably the most popular algorithm for neuroevolution
pharo-ai / APriori 2 11 months ago Fast algorithm for mining frequent sets of items and finding association rules between items in a database of transactions
pharo-ai / KMeans 3 11 months ago K-means clustering
pharo-ai / NaiveBayesClassifier 1 11 months ago Implementation of a multinomial Naive Bayes classifier in Pharo that can be used for simple spam detection and sentiment analysis
pharo-ai / NgramModel 4 almost 2 years ago N-gram language model that can be trained to estimate the probability of a next word based on N-1 previous words
pharo-ai / TF-IDF 3 almost 3 years ago Term Frequency - Inverse Document Frequency (TF-IDF), a statistical metric that reflects the importance of a word in a document. Can be used for finding keywords, ranking words by importance, or as a simple way of finding semantic similarity between documents
TensorFlow Bindings 32 over 3 years ago Allows to use in Pharo

Awesome Pharo / Books

https://books.pharo.org Pharo books are a collection of technical or textbook books around Pharo
Agile Artificial Intelligence Agile Artificial Intelligence is a book that covers classical algorithms commonly assimilated as artificial intelligence techniques
Agile Visualization Visualization made easy in Pharo. It uses the Roassal visualization engine
Free online books from Stéphane Ducasse website A collection of free books related to Smalltalk and Pharo
SquareBracketAssociates Organisation grouping repositories for various books around Pharo

Awesome Pharo / Code generation

PharoCodeGenerator 13 over 2 years ago Generate Pharo code based on ASTs
PharoJS 118 9 days ago Converts Pharo code to Javascript
PlainPharoCode 4 almost 2 years ago Instead of using String, use Pharo code to define code to generate
Python3Generator 26 9 months ago A toolkit to generate Python 3 source code from Pharo
VisitorGenerator 1 over 2 years ago Generates basic visitor & visit methods for any Pharo classes hierarchy
XML-XMLWriter 4 6 months ago Block-based API for XML generation for Pharo

Awesome Pharo / Code quality

Chanel 22 over 1 year ago A cleaner for Pharo Smalltalk code
QualityAssistant 16 over 7 years ago A live feedback code quality tool for Pharo
Rules 3 over 2 years ago Rules is a small model of rules that a model should not violate. It is able to compute the technical debt for a set of violations

Awesome Pharo / Command line

clap-st 33 11 months ago Command-line argument parsing for Pharo
Launchpad 15 about 2 months ago A command-line interface to start, list, and explain the applications available within the image
Pharo server tools 26 over 1 year ago Tools to deploy and manage headless Pharo servers from the command line
pi 39 over 1 year ago CLI tool to install Pharo Smalltalk packages

Awesome Pharo / Component-Based Architectures

Molecule 27 about 2 months ago A component oriented framework for Pharo

Awesome Pharo / Data interexchange format

Arff 1 over 6 years ago An Arff generator written in Pharo, Arff is the dataformat used by weka
CSV 29 3 months ago NeoCSV is an elegant and efficient standalone Smalltalk framework to read and write CSV converting to or from Smalltalk objects
Fuel 27 6 months ago A general-purpose object serialization framework for Squeak and Pharo, developed in Pharo
msgpack-smalltalk 22 4 months ago MessagePack serialization library
NeoJSON 42 5 days ago Framework to handle JSON in Pharo
NeoUniversalBinaryJSON 5 over 4 years ago An implementation of (UBJSON) for Pharo
pharo-ical 4 over 5 years ago iCalendar import and export
Pillar 51 12 days ago Markup syntax and associated tools to write and generate documentation, books and slides
Protobuf 13 over 4 years ago support for Pharo Smalltalk
SIXX 15 14 days ago XML serializer/deserializer
STON 136 7 months ago The Smalltalk Object Notation, similar to JSON but for Smalltalk
Tabular 13 about 1 year ago Support of common spreadsheets formats (CSV, XLSX, ODS)
XML-Pastell 0 about 5 years ago An XPath-like DSL that makes navigation in XML DOM trees easier
XML-Parser 11 about 1 month ago Official XML parser maintained by Pharo community
XML-Support 4 about 5 years ago XML Support for Pharo
XML-XMLParserStAX 0 about 5 years ago Official XML pull parser for XMLParser maintained by Pharo community
XML-XMLParserHTML 6 over 3 years ago Official parsers for HTML that convert possibly malformed HTML into well-formed XML maintained by Pharo community
XML-XMLWriter Official XML generation framework maintained by Pharo community
XML-XPath 5 4 months ago Official XPath library for Pharo
Soup 6 about 1 month ago HTML Scraping library for Pharo

Awesome Pharo / Data Structures

Array2D A grid like structure
AVL Tree 4 about 1 year ago
BTree 0 3 months ago Not a binary tree but a BTree implementation
DataFrame 74 3 months ago Tabular data structures for data analysis
Dictionary with lookup 2 4 months ago A dictionary with lookup
Grid 3 about 2 years ago A grid implementation
Hastable 1 26 days ago
Iterators 9 over 4 years ago Implementation of the iterator design pattern
KeyedTree 0 almost 4 years ago
Multimap 0 about 2 years ago A multi map implementation
OrderedSet 4 about 2 years ago A Set where an order of elements matters or an OrderedCollection with no duplicates. Supports the complete API of Set and OrderedCollection. Another version or the same is available at
OrderPreservingDictionary 0 almost 4 years ago Order preserving dictionary
PropertyEnvironment 2 4 months ago A dictionary of properties with a lookup in ancestors (also called environment in other languages)
QuadTrees 2 almost 2 years ago
RunArray 1 almost 4 years ago
SkipList 1 over 5 years ago
Stack 0 almost 4 years ago A stack implementation
Trie 3 26 days ago a structure for retrieval information
UniqueOrdered Some collections to have unique ordered elements

Awesome Pharo / Databases

CDB 0 over 5 years ago a CDB implementation in Pharo
CouchDB 4 over 5 years ago Pharo client for CouchDB NoSQL Document Database
Garage 8 almost 5 years ago Database drivers for the Pharo language
Glorp 22 6 months ago Multi-database cross-platform object-relational persistence for Pharo and many other Smalltalks
P3 75 7 months ago PostgresV3 protocol client for Pharo, standalone and integrated with Glorp
pharo-ado 10 about 4 years ago Enable data persistence in Pharo by using ActiveX Data Objects (ADO) on Microsoft Windows and external DBMS
Pharo-UDBC 7 almost 5 years ago Pharo Universal Database Connectivity
PunQLite 12 9 months ago UnQLite binding for Pharo Smalltalk
ReStore 32 5 months ago Relational database persistence for Pharo objects (based on SQLite, PostgreSQL or MySQL)
Tarantalk 15 over 2 years ago Tarantool client for Pharo
SCouchDB 8 about 2 years ago Pharo driver for CouchDB database using Zinc client. Supports Mango queries and implements Voyage API
Simple-Persistence 17 3 months ago Simple file base persistence for when you don't quite need a database
SQLite3 22 5 months ago Community-owned official SQLite3 binding for Pharo. Includes packages for use in Glorp
Voyage 33 19 days ago An object persistence abstraction layer for Pharo

Awesome Pharo / Datasets

Datasets 9 over 1 year ago A collection of small toy datasets used for demonstration and experiments with AI and machine learning. Includes many famous datasets such as Iris, Boston Housing, Wine, Diabetes, MNIST, etc
Les Miserables 3 about 3 years ago Coappearance characters of Les Miserables
RandomPartitioner 6 11 months ago A tool for partitioning a dataset. Given a set of proportions (e.g. 50%, 30%, and 20%), it shuffles the collection and divides it into non-empty subsets in such a way that every element is included in exactly one subset. Can be used in machine learning and statistical analysis for splitting datasets into training, validation, and test sets

Awesome Pharo / Deployment

Docker Pharo Runtime 5 4 months ago Docker image for Pharo
Docker Pharo VM 4 4 months ago Docker image for Pharo VM

Awesome Pharo / Documents Generation

Artefact 18 5 months ago Artefact is a framework to generate PDF documents in Pharo

Awesome Pharo / Graphics

Bloc 83 8 days ago Next generation low-level UI infratructure and framework for Pharo
Brick Next generation widget libraries for Pharo. Works on top of Bloc
ConstraintsLayout 1 about 6 years ago A constraints layout for morphic using Cassowary as its backend
Colors Extensions 1 about 1 year ago Extensions to Pharo colors
GraphViz 7 19 days ago Pharo GraphViz binding
GEXF 1 2 months ago Pharo model and exporter
Jun 11 24 days ago A 3D graphics library with chemoinformatics extensions
MaterialColors 3 over 2 years ago Project implementing Material Design recommandations on colors
MermaidPharo 0 about 1 year ago Pharo support for
PlantUMLPharoGizmo 17 almost 3 years ago Pharo support for PlantUML
Roassal3 97 10 months ago The agile 2D visualization engine for Pharo version 3. (V2: )
Sparta 31 about 1 month ago Sparta is an almost stateless vector graphics API for Pharo that provides bindings to the Moz2D rendering backend
SpecUIAddOns 3 almost 2 years ago Add-ons for Spec UI description framework
Woden 13 10 months ago A 3D graphics engine for Pharo

Awesome Pharo / IDE

Calypso 38 over 4 years ago Pharo system browser
CollectionExtensions 3 almost 3 years ago Extensions for Pharo collections API
Dawn theme 12 10 months ago A warm dark theme for Pharo
Glamorous Toolkit 1,122 7 days ago Moldable IDE for Pharo
Mirage 34 over 5 years ago A windows switcher with a previewer for Pharo
Native-Browser 0 over 5 years ago A small project to add the possibility to open native browser via a FileReference
Smalltalk Vim Mode 43 almost 3 years ago Vim Mode for Playground, System Browser, Debugger in Pharo
TelePharo 42 almost 2 years ago Tools to manage and develop remote Pharo images
TilingWindowManager 13 over 2 years ago Tiling Window Manager for Pharo
Uncommon-Themes 15 over 4 years ago A collection of themes for Pharo
Webside 42 6 days ago Web based IDE for Pharo and other Smalltalk systems

Awesome Pharo / Interaction

GitBridge 15 30 days ago Access resources and information from the git repository containing your project
OSC 7 about 1 month ago An open sound control library
TUIO 2 over 3 years ago A driver for TUIO

Awesome Pharo / IOT

HID 5 about 6 years ago An implementation of the Human Interface Device protocol with a driver to be used with libusb
Netatmo API 5 over 1 year ago Netatmo API implementation for Legrand Netatmo products (Weather Station and Healthy HomeCoach / Aircare product)
PharoThings 90 almost 4 years ago Live programming platform for IoT projects based on Pharo

Awesome Pharo / Language extensions

Buoy 22 11 days ago A complement to Pharo
I18N 6 about 2 months ago Internationalization support for applications
Talents 23 26 days ago Implementation of Talents in Pharo. Allowing us to extend the behaviour in single instances

Awesome Pharo / LaTeX

Citezen 5 2 months ago A bibtext parser and tool suite
SmalltalkEnv 8 about 5 years ago LaTeX environment for Smalltalk

Awesome Pharo / Loggers

Beacon 0 over 7 years ago A logger using beacon
TinyLogger 14 6 months ago A really small logger for Pharo applications
Bell 6 about 2 months ago An observability library written in Smalltalk

Awesome Pharo / Meta-modelling

Magritte 66 about 2 months ago A fully dynamic meta-description framework

Awesome Pharo / Miscellaneous

Aconcagua 14 4 months ago This model represents measures as first class objects, that is, an object that encapsulates a number with its unit
BugReport 0 over 2 years ago A small project to ease the bug reporting in Pharo application by dumping clear and detailed stacks
Chalten 7 4 months ago This is a time model that allows to use dates, months, years, etc. in an easy way
DMirror 9 10 months ago Tool to spawn new job on forked Pharo images
Dr Geo A software to design & manipulate interactive geometric sketches. It helps kids to explore geometry
Fog 20 about 5 years ago Pharo Ethereum Driver
IPFS 23 almost 3 years ago Binding to InterPlanetary File System for Pharo
ISO3166 4 over 2 years ago Codes for the names of countries, dependent territories, and special areas of geographical interest for Pharo applications
PharoFamily PDF image showing a part of Pharo ecosystem
PharoMisc 15 about 1 month ago Small utilities and libraries around various topics
PTerm 35 14 days ago Using Unix terminal from Pharo
Stylesheet 2 almost 3 years ago Stylesheet is a project to define css like stylesheet in Pharo applications
Territorial 17 over 2 years ago Geographical Information Retrieval (GIR) project including features to access geopolitical objects like Nations, Cities, Regions, International Organizations, and statistical data

Awesome Pharo / Network protocols

Ansible 5 about 1 month ago An AMQP client for Pharo
FileSystemNetwork Adds WebDAV and FTP support to Pharo's FileSystem framework. This allows you to use remote WebDAV and FTP locations with the same (FileSystem) API that's used for disk access
JRPC 10 over 1 year ago Yet another implementation for Pharo Smalltalk
Stargate 32 about 1 month ago A library supporting the creation of HTTP based RESTful APIs
Superluminal 9 about 2 months ago Building blocks for creating HTTP requests and API clients
WebSocket with Zinc 97 3 months ago The WebSocket feature of the Zinc HTTP Components framework
Zodiac 9 5 months ago (built-in) - Zodiac is an open-source Smalltalk framework implementing TLS/SSL secure as well as regular socket streams

Awesome Pharo / Pharo images management

fari.sh 13 almost 3 years ago Fresh, ready-to-hack Pharo images
Pharo Install 39 over 1 year ago A command-line tool for installing Pharo Smalltalk packages into fresh images
Pharo Launcher 109 3 months ago Official tool to manage your pharo images and download new ones

Awesome Pharo / Projects management

Chrysal 6 about 2 years ago How to manage application configuration
Cruiser 45 almost 5 years ago Application packager for Pharo
DeploymentUtility 2 over 2 years ago A project providing a facade to help to deploy pharo projects
Filetree 133 12 months ago A file-per-method export format of Pharo source code allowing one to version code with git, svn, fosil, etc
Metacello 87 over 2 years ago A package management system for Pharo
pharo-server-tools 26 over 1 year ago Tools to deploy and manage headless Pharo servers from the command line
SmalltalkCI 96 2 months ago Framework for testing Smalltalk projects on Linux, macOS, and Windows and on Travis CI, AppVeyor, and GitLab CI/CD
Tonel 32 7 months ago A file-per-class export format of Pharo source code allowing one to version code with git, svn, fosil, etc

Awesome Pharo / Scientific libraries

BioSmalltalk 17 about 1 year ago Bioinformatics Library for Pharo Smalltalk
CORMAS 25 23 days ago CORMAS (Common-pool Resource and Multi-Agent Simulation) is a agent based model library in Smalltalk
GADM 1 over 2 years ago A browseable GADM world tree for Pharo Smalltalk
Geometry 3 12 months ago A library for representing basic geometry elements and doing computations with them
HoneyGinger 6 7 months ago a fluid dynamics simulation engine focused on interactivity and visualization
Kendrick 49 about 2 years ago Domain-Specific Modeling for Epidemiology
MatplotLibBridge 19 over 5 years ago A bridge to Python's Matplotlib
Mathemagics 26 9 months ago Symbolic algebra package that handles mathematical expressions using simplification, derivatives, functions, variables, etc. Calculator included. Parser supports infix notation
Polymath 170 6 months ago Set of mathematical tools for Pharo. Similar to numpy in Python
RMapViewer 4 11 months ago A Viewer for chemical reaction maps
StNER 0 over 4 years ago Interface to the Stanford Named Entity Recognizer
Units 16 over 1 year ago A simple package for Units management in Pharo
Z3950 1 over 9 years ago ZOOM FFI Client for Z39.50 Protocol

Awesome Pharo / Software / data analysis

CCBC 4 over 3 years ago Code Critics Bar Chart for Pharo Smalltalk
DesignInfo 4 about 6 years ago Collects package metrics (SLOC)
Moose 136 2 months ago Platform for software and data analysis
PetitParser 41 over 3 years ago Petit Parser is a framework for building parsers using objects
PostgreSQLParser 7 over 3 years ago A parser for PostgreSQL queries and Plpg/SQL source code

Awesome Pharo / Sound

Pharo-LibVLC 16 about 1 year ago FFI binding to
PharoSound 2 almost 5 years ago Sound facilities for Pharo

Awesome Pharo / System interaction

KerasBridge 6 almost 5 years ago Bridge between the Keras library for neural network and Pharo
LibUSB 5 about 6 years ago A FFI binding to libusb C library
OSSubprocess 34 3 months ago Allows one to spawn Operating System processes from within Pharo language
Pharo-OS-Linux-Ubuntu 4 over 1 year ago Support for Ubuntu operating system for Pharo
Pharo-OS-OSX 2 over 1 year ago Support for OSX operating system for Pharo
Pharo-OS-Unix 2 over 1 year ago Support for Unix operating system for Pharo
Pharo-OS-Raspbian 0 over 1 year ago Support for Raspbian operating system for Pharo
Pharo-OS-Windows 14 about 1 month ago Support for Windows operating system for Pharo
ProcessWrapper 0 almost 6 years ago Plugin + Wrapper code for Windows process execution
PythonBridge 22 almost 2 years ago A bridge between Python and Pharo. This bridge allows to seamlessly use Python libraries in Pharo
SystemInteraction 4 over 2 years ago A project to simplify system interactions in Pharo providing a facade to OSSubProcess and OSWindSubProcess and some pre-made commands

Awesome Pharo / Testing

Babymock 0 almost 8 years ago A visual mock object library
DrTests 7 about 5 years ago An extendable, plugins-based UI for testing Pharo projects
Hapao 7 over 3 years ago Spy2 is a profiling framework. Spy2 contains Hapao, the visual test coverage tool
Mocketry 18 8 months ago Mock objects library with very fluent lightweight API
µ-talk 21 18 days ago Mutation Testing in Smalltalk
ParametrizedTests 4 almost 5 years ago Extension to SUnit to implement parametrized tests in Pharo
StateSpecs 6 almost 2 years ago Assertions library based on should expressions

Awesome Pharo / Tutorials

Exercism Pharo Smalltalk 34 about 1 month ago Solve problems with TDD at and receive mentor feedback

Awesome Pharo / VCS

Iceberg 134 5 days ago Set of tools to handle git repositories from a Pharo image

Awesome Pharo / Videos

How to setup a Pharo project Video showing how to setup a Pharo project (continuous-integration setup included)
Infecting morph by virus Example of usage of to infect a Morph, making it change the color of other Morphs it touches
Pharo Tech Talk Feb 2017 : Reflectivity Reflectivity in Pharo6
Pharo Techtalk: Consortium/Association 2017 Live stream for the pharo tech talk March 2018
Pharo TechTalk July 2019: Contribute to Pharo TechTalk showing how to contribute to Pharo

Awesome Pharo / Virtual Machine

Polyphemus 134 5 days ago Framework allowing to analyse/query/modify Pharo images without executing them

Awesome Pharo / Web

Amber Amber is an implementation of the Smalltalk language that runs on top of the JavaScript runtime. It uses Pharo as reference implementation
ChartJs 7 over 2 years ago Seaside binding of ChartJs to display and interact with charts
CodeParadise 87 8 days ago Run Pharo code inside a tiny SqueakJS VM and manipulate the Dom via WebComponents and MVP
Ethel 23 5 months ago Lightweight framework for composing web service clients
HighchartsSt 12 about 4 years ago A Highcharts Js API wrapper for Pharo Smalltalk
MaterialDesignLite 41 4 months ago Binding google's Material Design Lite project for Seaside
OpenAPI 22 almost 4 years ago A pharo implementation of 3.0.1, a machine-readable interface files specification for describing, producing, consuming, and visualizing RESTful web services
Parasol 31 4 months ago Testing web apps in Smalltalk using Selenium WebDriver
PharoJS 0 14 days ago Develop in Pharo, Run on Javascript
Pragma-Validators 3 about 4 years ago Pragma validators for Pharo accessors, inspired by Java Bean Validation annotations
PrismCodeDisplayer 1 over 2 years ago Code displayer for Seaside base on Prism.js project
RenoirSt 18 over 1 year ago A DSL enabling programmatic cascading style sheet generation for Pharo Smalltalk
Seaside 519 10 days ago Framework to develop sophisticate web applications in Smalltalk
SeasideBootstrap 10 over 1 year ago Binding to Twitter's Bootstrap project for Seaside
Teapot 98 about 1 month ago Micro web framework for Pharo Smalltalk
Teapot-ACL 2 about 4 years ago A minimalistic role-based access control list for Teapot authorization
TelescopeCytoscape 8 over 2 years ago Interactive visualization project for Seaside based on Cytoscape.js
Willow 47 5 months ago Web Interaction Library that eases the burden of creating AJAX-based web applications
Zinc 97 3 months ago HTTP components to deal with HTTP networking in Smalltalk

Awesome Pharo / Web API clients

DiscordSt 32 over 2 years ago DiscordSt is a client for Discord written in Pharo
Elasticsearch-Pharo-API 0 about 1 year ago Elasticsearch-Pharo-API is a client for written in Pharo
Jira-Pharo-API 1 about 1 month ago Jira-Pharo-API is a client for written in Pharo

Backlinks from these awesome lists:

More related projects: