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

287 stars
26 watching
30 forks
last commit: almost 2 years ago
Linked from 1 awesome list

awesomeawesome-listdocumentationlibrariespharosmalltalk

Awesome Pharo / Algorithms

DeepTraverser8almost 8 years agoLibrary for traversing object graphs (managing cycles)
FuzzySearcher2almost 2 years agoSimplified implementation of ambiguous matching algorithm based on Baeta-Yates, R.A., Gonnet, G.H., Wu, S. and Manber, U
StableMarriage3over 8 years agoA solver for the stable marriage problem written in Pharo

Awesome Pharo / Artificial Intelligence and Machine Learning

Keras Wrapper9over 2 years agoAllows to use functions within Pharo
NEAT (NeuroEvolution of Augmenting Topologies)16over 6 years agoA genetic algorithm for evolving artificial neural networks. NEAT is probably the most popular algorithm for neuroevolution
pharo-ai / APriori2almost 3 years agoFast algorithm for mining frequent sets of items and finding association rules between items in a database of transactions
pharo-ai / KMeans3almost 3 years agoK-means clustering
pharo-ai / NaiveBayesClassifier1almost 3 years agoImplementation of a multinomial Naive Bayes classifier in Pharo that can be used for simple spam detection and sentiment analysis
pharo-ai / NgramModel4over 3 years agoN-gram language model that can be trained to estimate the probability of a next word based on N-1 previous words
pharo-ai / TF-IDF3over 4 years agoTerm 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 Bindings32over 5 years agoAllows to use in Pharo

Awesome Pharo / Books

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

Awesome Pharo / Code generation

PharoCodeGenerator13over 4 years agoGenerate Pharo code based on ASTs
PharoJS118almost 2 years agoConverts Pharo code to Javascript
PlainPharoCode4over 3 years agoInstead of using String, use Pharo code to define code to generate
Python3Generator26over 2 years agoA toolkit to generate Python 3 source code from Pharo
VisitorGenerator1over 4 years agoGenerates basic visitor & visit methods for any Pharo classes hierarchy
XML-XMLWriter4over 2 years agoBlock-based API for XML generation for Pharo

Awesome Pharo / Code quality

Chanel22over 3 years agoA cleaner for Pharo Smalltalk code
QualityAssistant16over 9 years agoA live feedback code quality tool for Pharo
Rules3over 4 years agoRules 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-st33almost 3 years agoCommand-line argument parsing for Pharo
Launchpad16almost 2 years agoA command-line interface to start, list, and explain the applications available within the image
Pharo server tools26about 3 years agoTools to deploy and manage headless Pharo servers from the command line
pi39about 3 years agoCLI tool to install Pharo Smalltalk packages

Awesome Pharo / Component-Based Architectures

Molecule27almost 2 years agoA component oriented framework for Pharo

Awesome Pharo / Data interexchange format

Arff1over 8 years agoAn Arff generator written in Pharo, Arff is the dataformat used by weka
CSV29about 2 years agoNeoCSV is an elegant and efficient standalone Smalltalk framework to read and write CSV converting to or from Smalltalk objects
Fuel28over 2 years agoA general-purpose object serialization framework for Squeak and Pharo, developed in Pharo
msgpack-smalltalk22about 2 years agoMessagePack serialization library
NeoJSON42almost 2 years agoFramework to handle JSON in Pharo
NeoUniversalBinaryJSON5about 6 years agoAn implementation of (UBJSON) for Pharo
pharo-ical4about 7 years agoiCalendar import and export
Pillar51almost 2 years agoMarkup syntax and associated tools to write and generate documentation, books and slides
Protobuf13over 6 years agosupport for Pharo Smalltalk
SIXX15almost 2 years agoXML serializer/deserializer
STON138over 2 years agoThe Smalltalk Object Notation, similar to JSON but for Smalltalk
Tabular13almost 3 years agoSupport of common spreadsheets formats (CSV, XLSX, ODS)
XML-Pastell0almost 7 years agoAn XPath-like DSL that makes navigation in XML DOM trees easier
XML-Parser11almost 2 years agoOfficial XML parser maintained by Pharo community
XML-Support4almost 7 years agoXML Support for Pharo
XML-XMLParserStAX0almost 7 years agoOfficial XML pull parser for XMLParser maintained by Pharo community
XML-XMLParserHTML6over 5 years agoOfficial parsers for HTML that convert possibly malformed HTML into well-formed XML maintained by Pharo community
XML-XMLWriterOfficial XML generation framework maintained by Pharo community
XML-XPath5about 2 years agoOfficial XPath library for Pharo
Soup6almost 2 years agoHTML Scraping library for Pharo

Awesome Pharo / Data Structures

Array2DA grid like structure
AVL Tree4almost 3 years ago
BTree0about 2 years agoNot a binary tree but a BTree implementation
DataFrame74about 2 years agoTabular data structures for data analysis
Dictionary with lookup2about 2 years agoA dictionary with lookup
Grid3almost 4 years agoA grid implementation
Hastable1almost 2 years ago
Iterators9over 6 years agoImplementation of the iterator design pattern
KeyedTree0almost 6 years ago
Multimap0about 4 years agoA multi map implementation
OrderedSet4almost 4 years agoA 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
OrderPreservingDictionary0over 5 years agoOrder preserving dictionary
PropertyEnvironment2about 2 years agoA dictionary of properties with a lookup in ancestors (also called environment in other languages)
QuadTrees2almost 4 years ago
RunArray1over 5 years ago
SkipList1over 7 years ago
Stack0over 5 years agoA stack implementation
Trie3almost 2 years agoa structure for retrieval information
UniqueOrderedSome collections to have unique ordered elements

Awesome Pharo / Databases

CDB0over 7 years agoa CDB implementation in Pharo
CouchDB4over 7 years agoPharo client for CouchDB NoSQL Document Database
Garage8over 6 years agoDatabase drivers for the Pharo language
Glorp24over 2 years agoMulti-database cross-platform object-relational persistence for Pharo and many other Smalltalks
P375over 2 years agoPostgresV3 protocol client for Pharo, standalone and integrated with Glorp
pharo-ado10about 6 years agoEnable data persistence in Pharo by using ActiveX Data Objects (ADO) on Microsoft Windows and external DBMS
Pharo-UDBC7over 6 years agoPharo Universal Database Connectivity
PunQLite12over 2 years agoUnQLite binding for Pharo Smalltalk
ReStore32about 2 years agoRelational database persistence for Pharo objects (based on SQLite, PostgreSQL or MySQL)
Tarantalk15over 4 years agoTarantool client for Pharo
SCouchDB8almost 4 years agoPharo driver for CouchDB database using Zinc client. Supports Mango queries and implements Voyage API
Simple-Persistence17about 2 years agoSimple file base persistence for when you don't quite need a database
SQLite322about 2 years agoCommunity-owned official SQLite3 binding for Pharo. Includes packages for use in Glorp
Voyage33almost 2 years agoAn object persistence abstraction layer for Pharo

Awesome Pharo / Datasets

Datasets9about 3 years agoA 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 Miserables3about 5 years agoCoappearance characters of Les Miserables
RandomPartitioner6almost 3 years agoA 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 Runtime6about 2 years agoDocker image for Pharo
Docker Pharo VM4about 2 years agoDocker image for Pharo VM

Awesome Pharo / Documents Generation

Artefact18over 2 years agoArtefact is a framework to generate PDF documents in Pharo

Awesome Pharo / Graphics

Alexandrie5almost 2 years agoFFI bindings and a 2D canvas for Pharo based on Cairo, Freetype and Harfbuzz
Bloc83almost 2 years agoNext generation low-level UI infratructure and framework for Pharo
ConstraintsLayout1about 8 years agoA constraints layout for morphic using Cassowary as its backend
Colors Extensions1almost 3 years agoExtensions to Pharo colors
GraphViz7almost 2 years agoPharo GraphViz binding
GEXF1about 2 years agoPharo model and exporter
Jun11almost 2 years agoA 3D graphics library with chemoinformatics extensions
MaterialColors3over 4 years agoProject implementing Material Design recommandations on colors
MermaidPharo0almost 3 years agoPharo support for
PlantUMLPharoGizmo17over 4 years agoPharo support for PlantUML
Pyramid33almost 2 years agoPyramid is a Graphical User-Interface (GUI) builder and editor for Bloc and Toplo
Roassal397over 2 years agoThe agile 2D visualization engine for Pharo version 3. (V2: )
Sparta31almost 2 years agoSparta is an almost stateless vector graphics API for Pharo that provides bindings to the Moz2D rendering backend
SpecUIAddOns3over 3 years agoAdd-ons for Spec UI description framework
Toplo19almost 2 years agoA widget framework on top of Bloc
Woden13over 2 years agoA 3D graphics engine for Pharo

Awesome Pharo / IDE

Calypso38about 6 years agoPharo system browser
CollectionExtensions3almost 5 years agoExtensions for Pharo collections API
Dawn theme12over 2 years agoA warm dark theme for Pharo
Glamorous Toolkit1,131almost 2 years agoMoldable IDE for Pharo
Mirage34over 7 years agoA windows switcher with a previewer for Pharo
Native-Browser0over 7 years agoA small project to add the possibility to open native browser via a FileReference
Smalltalk Vim Mode43almost 5 years agoVim Mode for Playground, System Browser, Debugger in Pharo
TelePharo42almost 4 years agoTools to manage and develop remote Pharo images
TilingWindowManager13over 4 years agoTiling Window Manager for Pharo
Uncommon-Themes15over 6 years agoA collection of themes for Pharo
Webside45almost 2 years agoWeb based IDE for Pharo and other Smalltalk systems

Awesome Pharo / Interaction

GitBridge15almost 2 years agoAccess resources and information from the git repository containing your project
OSC7almost 2 years agoAn open sound control library
TUIO2over 5 years agoA driver for TUIO

Awesome Pharo / IOT

HID5almost 8 years agoAn implementation of the Human Interface Device protocol with a driver to be used with libusb
Netatmo API5over 3 years agoNetatmo API implementation for Legrand Netatmo products (Weather Station and Healthy HomeCoach / Aircare product)
PharoThings90almost 6 years agoLive programming platform for IoT projects based on Pharo

Awesome Pharo / Language extensions

Buoy22almost 2 years agoA complement to Pharo
I18N6almost 2 years agoInternationalization support for applications
Talents23almost 2 years agoImplementation of Talents in Pharo. Allowing us to extend the behaviour in single instances

Awesome Pharo / LaTeX

Citezen5about 2 years agoA bibtext parser and tool suite
SmalltalkEnv8about 7 years agoLaTeX environment for Smalltalk

Awesome Pharo / Loggers

Beacon0about 9 years agoA logger using beacon
TinyLogger14over 2 years agoA really small logger for Pharo applications
Bell6almost 2 years agoAn observability library written in Smalltalk

Awesome Pharo / Meta-modelling

Magritte66almost 2 years agoA fully dynamic meta-description framework

Awesome Pharo / Miscellaneous

Aconcagua14about 2 years agoThis model represents measures as first class objects, that is, an object that encapsulates a number with its unit
BugReport0over 4 years agoA small project to ease the bug reporting in Pharo application by dumping clear and detailed stacks
Chalten7about 2 years agoThis is a time model that allows to use dates, months, years, etc. in an easy way
DMirror9over 2 years agoTool to spawn new job on forked Pharo images
Dr GeoA software to design & manipulate interactive geometric sketches. It helps kids to explore geometry
Fog20about 7 years agoPharo Ethereum Driver
IPFS23almost 5 years agoBinding to InterPlanetary File System for Pharo
ISO31664about 4 years agoCodes for the names of countries, dependent territories, and special areas of geographical interest for Pharo applications
PharoFamilyPDF image showing a part of Pharo ecosystem
PharoMisc15almost 2 years agoSmall utilities and libraries around various topics
PTerm35almost 2 years agoUsing Unix terminal from Pharo
Stylesheet2over 4 years agoStylesheet is a project to define css like stylesheet in Pharo applications
Territorial18almost 2 years agoGeographical Information Retrieval (GIR) project including features to access geopolitical objects like Nations, Cities, Regions, International Organizations, and statistical data

Awesome Pharo / Network protocols

Ansible5almost 2 years agoAn AMQP client for Pharo
FileSystemNetworkAdds 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
JRPC11over 3 years agoYet another implementation for Pharo Smalltalk
Stargate32almost 2 years agoA library supporting the creation of HTTP based RESTful APIs
Superluminal9almost 2 years agoBuilding blocks for creating HTTP requests and API clients
WebSocket with Zinc97about 2 years agoThe WebSocket feature of the Zinc HTTP Components framework
Zodiac9over 2 years 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.sh13over 4 years agoFresh, ready-to-hack Pharo images
Pharo Install39about 3 years agoA command-line tool for installing Pharo Smalltalk packages into fresh images
Pharo Launcher110almost 2 years agoOfficial tool to manage your pharo images and download new ones

Awesome Pharo / Projects management

Chrysal6about 4 years agoHow to manage application configuration
Cruiser45over 6 years agoApplication packager for Pharo
DeploymentUtility2over 4 years agoA project providing a facade to help to deploy pharo projects
Filetree133almost 3 years agoA file-per-method export format of Pharo source code allowing one to version code with git, svn, fosil, etc
Metacello87over 4 years agoA package management system for Pharo
pharo-server-tools26about 3 years agoTools to deploy and manage headless Pharo servers from the command line
SmalltalkCI96about 2 years agoFramework for testing Smalltalk projects on Linux, macOS, and Windows and on Travis CI, AppVeyor, and GitLab CI/CD
Tonel32over 2 years agoA file-per-class export format of Pharo source code allowing one to version code with git, svn, fosil, etc

Awesome Pharo / Scientific libraries

BioSmalltalk17almost 3 years agoBioinformatics Library for Pharo Smalltalk
CORMAS26almost 2 years agoCORMAS (Common-pool Resource and Multi-Agent Simulation) is a agent based model library in Smalltalk
GADM1over 4 years agoA browseable GADM world tree for Pharo Smalltalk
Geometry3almost 3 years agoA library for representing basic geometry elements and doing computations with them
HoneyGinger6over 2 years agoa fluid dynamics simulation engine focused on interactivity and visualization
Kendrick49almost 4 years agoDomain-Specific Modeling for Epidemiology
MatplotLibBridge19over 7 years agoA bridge to Python's Matplotlib
Mathemagics26over 2 years agoSymbolic algebra package that handles mathematical expressions using simplification, derivatives, functions, variables, etc. Calculator included. Parser supports infix notation
Polymath170over 2 years agoSet of mathematical tools for Pharo. Similar to numpy in Python
RMapViewer4almost 3 years agoA Viewer for chemical reaction maps
StNER0over 6 years agoInterface to the Stanford Named Entity Recognizer
Units16about 3 years agoA simple package for Units management in Pharo
Z39501over 11 years agoZOOM FFI Client for Z39.50 Protocol

Awesome Pharo / Software / data analysis

CCBC4over 5 years agoCode Critics Bar Chart for Pharo Smalltalk
DesignInfo4almost 8 years agoCollects package metrics (SLOC)
Moose137about 2 years agoPlatform for software and data analysis
PetitParser42over 5 years agoPetit Parser is a framework for building parsers using objects
PostgreSQLParser7over 5 years agoA parser for PostgreSQL queries and Plpg/SQL source code

Awesome Pharo / Sound

Pharo-LibVLC16about 3 years agoFFI binding to
PharoSound2over 6 years agoSound facilities for Pharo

Awesome Pharo / System interaction

KerasBridge6almost 7 years agoBridge between the Keras library for neural network and Pharo
LibUSB5almost 8 years agoA FFI binding to libusb C library
OSSubprocess34about 2 years agoAllows one to spawn Operating System processes from within Pharo language
Pharo-OS-Linux-Ubuntu4about 3 years agoSupport for Ubuntu operating system for Pharo
Pharo-OS-OSX2about 3 years agoSupport for OSX operating system for Pharo
Pharo-OS-Unix2about 3 years agoSupport for Unix operating system for Pharo
Pharo-OS-Raspbian0about 3 years agoSupport for Raspbian operating system for Pharo
Pharo-OS-Windows14almost 2 years agoSupport for Windows operating system for Pharo
ProcessWrapper0over 7 years agoPlugin + Wrapper code for Windows process execution
PythonBridge22over 3 years agoA bridge between Python and Pharo. This bridge allows to seamlessly use Python libraries in Pharo
SystemInteraction4about 4 years agoA project to simplify system interactions in Pharo providing a facade to OSSubProcess and OSWindSubProcess and some pre-made commands

Awesome Pharo / Testing

Babymock0almost 10 years agoA visual mock object library
DrTests7about 7 years agoAn extendable, plugins-based UI for testing Pharo projects
Hapao7over 5 years agoSpy2 is a profiling framework. Spy2 contains Hapao, the visual test coverage tool
Mocketry18over 2 years agoMock objects library with very fluent lightweight API
µ-talk22almost 2 years agoMutation Testing in Smalltalk
ParametrizedTests5over 6 years agoExtension to SUnit to implement parametrized tests in Pharo
StateSpecs6almost 4 years agoAssertions library based on should expressions

Awesome Pharo / Tutorials

Exercism Pharo Smalltalk34almost 2 years agoSolve problems with TDD at and receive mentor feedback

Awesome Pharo / VCS

Iceberg134almost 2 years agoSet of tools to handle git repositories from a Pharo image

Awesome Pharo / Videos

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

Awesome Pharo / Virtual Machine

Polyphemus134almost 2 years agoFramework allowing to analyse/query/modify Pharo images without executing them

Awesome Pharo / Web

AmberAmber is an implementation of the Smalltalk language that runs on top of the JavaScript runtime. It uses Pharo as reference implementation
ChartJs7over 4 years agoSeaside binding of ChartJs to display and interact with charts
CodeParadise87almost 2 years agoRun Pharo code inside a tiny SqueakJS VM and manipulate the Dom via WebComponents and MVP
Ethel23over 2 years agoLightweight framework for composing web service clients
HighchartsSt12almost 6 years agoA Highcharts Js API wrapper for Pharo Smalltalk
MaterialDesignLite41about 2 years agoBinding google's Material Design Lite project for Seaside
OpenAPI22over 5 years agoA pharo implementation of 3.0.1, a machine-readable interface files specification for describing, producing, consuming, and visualizing RESTful web services
Parasol31about 2 years agoTesting web apps in Smalltalk using Selenium WebDriver
PharoJS0almost 2 years agoDevelop in Pharo, Run on Javascript
Pragma-Validators3almost 6 years agoPragma validators for Pharo accessors, inspired by Java Bean Validation annotations
PrismCodeDisplayer1over 4 years agoCode displayer for Seaside base on Prism.js project
RenoirSt18over 3 years agoA DSL enabling programmatic cascading style sheet generation for Pharo Smalltalk
Seaside522almost 2 years agoFramework to develop sophisticate web applications in Smalltalk
SeasideBootstrap10over 3 years agoBinding to Twitter's Bootstrap project for Seaside
Teapot98almost 2 years agoMicro web framework for Pharo Smalltalk
Teapot-ACL2almost 6 years agoA minimalistic role-based access control list for Teapot authorization
TelescopeCytoscape8about 4 years agoInteractive visualization project for Seaside based on Cytoscape.js
Willow47about 2 years agoWeb Interaction Library that eases the burden of creating AJAX-based web applications
Zinc97about 2 years agoHTTP components to deal with HTTP networking in Smalltalk

Awesome Pharo / Web API clients

DiscordSt32over 4 years agoDiscordSt is a client for Discord written in Pharo
Elasticsearch-Pharo-API0about 3 years agoElasticsearch-Pharo-API is a client for written in Pharo
Jira-Pharo-API1almost 2 years agoJira-Pharo-API is a client for written in Pharo

Backlinks from these awesome lists:

More related projects: