{"id":13517948,"url":"https://github.com/pharo-open-documentation/awesome-pharo","last_synced_at":"2025-09-27T06:31:59.655Z","repository":{"id":41153182,"uuid":"157852393","full_name":"pharo-open-documentation/awesome-pharo","owner":"pharo-open-documentation","description":" A collection of awesome Pharo libraries, tools, frameworks and software.","archived":false,"fork":false,"pushed_at":"2025-08-20T12:35:11.000Z","size":268,"stargazers_count":299,"open_issues_count":6,"forks_count":31,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-08-30T22:02:03.714Z","etag":null,"topics":["awesome","awesome-list","documentation","libraries","pharo","smalltalk"],"latest_commit_sha":null,"homepage":"https://twitter.com/PharoOpen","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pharo-open-documentation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-11-16T10:33:41.000Z","updated_at":"2025-08-27T12:18:28.000Z","dependencies_parsed_at":"2024-02-02T10:55:45.272Z","dependency_job_id":"6aa07d81-c52b-45aa-a230-004b0aa26181","html_url":"https://github.com/pharo-open-documentation/awesome-pharo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pharo-open-documentation/awesome-pharo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-open-documentation%2Fawesome-pharo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-open-documentation%2Fawesome-pharo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-open-documentation%2Fawesome-pharo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-open-documentation%2Fawesome-pharo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pharo-open-documentation","download_url":"https://codeload.github.com/pharo-open-documentation/awesome-pharo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pharo-open-documentation%2Fawesome-pharo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273886656,"owners_count":25185512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","documentation","libraries","pharo","smalltalk"],"created_at":"2024-08-01T05:01:39.011Z","updated_at":"2025-09-27T06:31:59.648Z","avatar_url":"https://github.com/pharo-open-documentation.png","language":null,"funding_links":[],"categories":["Technical","Programming Language Lists"],"sub_categories":["awesome-*","Smalltalk Lists"],"readme":"# Awesome Pharo [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\nA categorized community-driven collection of awesome Pharo libraries, tools, frameworks and software.\n\n## Table of contents\n\n- [Algorithms](#algorithms)\n- [Artificial Intelligence and Machine Learning](#artificial-intelligence-and-machine-learning)\n- [Books](#books)\n- [Code generation](#code-generation)\n- [Code quality](#code-quality)\n- [Command line](#command-line)\n- [Component-Based Architectures](#component-based-architectures)\n- [Data interexchange format](#data-interexchange-format)\n- [Data structures](#data-structures)\n- [Databases](#databases)\n- [Datasets](#datasets)\n- [Documents generation](#documents-generation)\n- [Graphics](#graphics)\n- [IDE](#ide)\n- [Interaction](#interaction)\n- [IOT](#iot)\n- [Language extensions](#language-extensions)\n- [LaTeX](#latex)\n- [Loggers](#loggers)\n- [Meta-modelling](#meta-modelling)\n- [Miscellaneous](#miscellaneous)\n- [Network protocols](#network-protocols)\n- [Pharo images management](#pharo-images-management)\n- [Projects management](#projects-management)\n- [Scientific libraries](#scientific-libraries)\n- [Software / data analysis](#software--data-analysis)\n- [Sound](#sound)\n- [System interaction](#system-interaction)\n- [Testing](#testing)\n- [Tutorials](#tutorials)\n- [VCS](#vcs)\n- [Videos](#videos)\n- [Virtual machine](#virtual-machine)\n- [Web](#web)\n- [Web API clients](#web-api-clients)\n\n## Algorithms\n+ [DeepTraverser](https://github.com/pharo-contributions/DeepTraverser) - Library for traversing object graphs (managing cycles).\n+ [FuzzySearcher](https://github.com/hernanmd/FuzzySearcher) - Simplified implementation of ambiguous matching algorithm based on Baeta-Yates, R.A., Gonnet, G.H., Wu, S. and Manber, U.\n+ [StableMarriage](https://github.com/juliendelplanque/StableMarriage) - A solver for the stable marriage problem written in Pharo.\n\n## Artificial Intelligence and Machine Learning\n\nThe full list of AI and machine learning libraries, tools, and resources for Pharo is available at [pharo-ai / awesome-pharo-ml](https://github.com/pharo-ai/awesome-pharo-ml).\n\n+ [Keras Wrapper](https://github.com/ObjectProfile/KerasWrapper) - Allows to use [Keras](https://keras.io/) functions within Pharo.\n+ [NEAT (NeuroEvolution of Augmenting Topologies)](https://github.com/bergel/NEAT) - A genetic algorithm for evolving artificial neural networks. NEAT is probably the most popular algorithm for neuroevolution.\n+ [pharo-ai / APriori](https://github.com/pharo-ai/APriori) - Fast algorithm for mining frequent sets of items and finding association rules between items in a database of transactions.\n+ [pharo-ai / KMeans](https://github.com/pharo-ai/KMeans) - K-means clustering.\n+ [pharo-ai / NaiveBayesClassifier](https://github.com/pharo-ai/NaiveBayesClassifier) - Implementation of a multinomial Naive Bayes classifier in Pharo that can be used for simple spam detection and sentiment analysis.\n+ [pharo-ai / NgramModel](https://github.com/pharo-ai/NgramModel) - N-gram language model that can be trained to estimate the probability of a next word based on N-1 previous words.\n+ [pharo-ai / TF-IDF](https://github.com/pharo-ai/TF-IDF) - 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.\n+ [TensorFlow Bindings](https://github.com/PolyMathOrg/libtensorflow-pharo-bindings) - Allows to use [TensorFlow](https://www.tensorflow.org/) in Pharo.\n\n## Books\n+ [https://books.pharo.org](https://books.pharo.org) - Pharo books are a collection of technical or textbook books around Pharo. \n+ [Agile Artificial Intelligence](https://agileartificialintelligence.github.io) - Agile Artificial Intelligence is a book that covers classical algorithms commonly assimilated as artificial intelligence techniques.\n+ [Agile Visualization](http://agilevisualization.com) - Visualization made easy in Pharo. It uses the Roassal visualization engine\n+ [Free online books from Stéphane Ducasse website](http://stephane.ducasse.free.fr/FreeBooks.html) - A collection of free books related to Smalltalk and Pharo.\n+ [SquareBracketAssociates](https://github.com/SquareBracketAssociates) - Organisation grouping repositories for various books around Pharo.\n\n## Code generation\n+ [PharoCodeGenerator](https://github.com/juliendelplanque/PharoCodeGenerator) - Generate Pharo code based on ASTs.\n+ [PharoJS](https://github.com/PharoJS/PharoJS) - Converts Pharo code to Javascript.\n+ [PlainPharoCode](https://github.com/hogoww/PlainPharoCode) - Instead of using String, use Pharo code to define code to generate.\n+ [Python3Generator](https://github.com/juliendelplanque/Python3Generator) - A toolkit to generate Python 3 source code from Pharo.\n+ [VisitorGenerator](https://github.com/hogoww/visitorGenerator) - Generates basic visitor \u0026 visit methods for any Pharo classes hierarchy.\n+ [XML-XMLWriter](https://github.com/pharo-contributions/XML-XMLWriter) - Block-based API for XML generation for Pharo.\n\n## Code quality\n+ [Chanel](https://github.com/jecisc/Chanel) - A cleaner for Pharo Smalltalk code.\n+ [QualityAssistant](https://github.com/Uko/QualityAssistant) - A live feedback code quality tool for Pharo.\n+ [Rules](https://github.com/jecisc/Rules) - 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.\n\n## Command line\n+ [clap-st](https://github.com/cdlm/clap-st) - Command-line argument parsing for Pharo.\n+ [Launchpad](https://github.com/ba-st/Launchpad) - A command-line interface to start, list, and explain the applications available within the image\n+ [Pharo server tools](https://github.com/svenvc/pharo-server-tools) - Tools to deploy and manage headless Pharo servers from the command line.\n+ [pi](https://github.com/hernanmd/pi) - CLI tool to install Pharo Smalltalk packages.\n\n## Component-Based Architectures\n+ [Molecule](https://github.com/OpenSmock/Molecule) - A component oriented framework for Pharo.\n\n## Data interexchange format\n+ [Arff](https://github.com/juliendelplanque/Arff) - An Arff generator written in Pharo, Arff is the dataformat used by weka.\n+ [CSV](https://github.com/svenvc/NeoCSV) - NeoCSV is an elegant and efficient standalone Smalltalk framework to read and write CSV converting to or from Smalltalk objects.\n+ [Fuel](https://github.com/theseion/Fuel) - A general-purpose object serialization framework for Squeak and Pharo, developed in Pharo.\n+ [msgpack-smalltalk](https://github.com/msgpack/msgpack-smalltalk) - MessagePack serialization library.\n+ [NeoJSON](https://github.com/svenvc/NeoJSON) - Framework to handle JSON in Pharo.\n+ [NeoUniversalBinaryJSON](https://github.com/svenvc/NeoUniversalBinaryJSON) - An implementation of [Universal Binary JSON](http://ubjson.org) (UBJSON) for Pharo.\n+ [pharo-ical](https://github.com/juliendelplanque/pharo-ical) - iCalendar import and export.\n+ [Pillar](https://github.com/pillar-markup/pillar) - Markup syntax and associated tools to write and generate documentation, books and slides.\n+ [Protobuf](https://github.com/jvdsandt/protobuf-smalltalk) - [Google's protocol buffers](https://developers.google.com/protocol-buffers/) support for Pharo Smalltalk.\n+ [SIXX](https://github.com/mumez/SIXX) - XML serializer/deserializer.\n+ [STON](https://github.com/svenvc/ston) - The Smalltalk Object Notation, similar to JSON but for Smalltalk.\n+ [Tabular](https://github.com/VincentBlondeau/Tabular) - Support of common spreadsheets formats (CSV, XLSX, ODS).\n+ [XML-Pastell](https://github.com/pharo-contributions/XML-Pastell) - An XPath-like DSL that makes navigation in XML DOM trees easier.\n+ [XML-Parser](https://github.com/pharo-contributions/XML-XMLParser) - Official XML parser maintained by Pharo community.\n+ [XML-Support](https://github.com/svenvc/XML-Support-Pharo) - XML Support for Pharo.\n+ [XML-XMLParserStAX](https://github.com/pharo-contributions/XML-XMLParserStAX) - Official XML pull parser for XMLParser maintained by Pharo community.\n+ [XML-XMLParserHTML](https://github.com/pharo-contributions/XML-XMLParserHTML) - Official parsers for HTML that convert possibly malformed HTML into well-formed XML maintained by Pharo community.\n+ [XML-XMLWriter](XML-XMLWriter) - Official XML generation framework maintained by Pharo community.\n+ [XML-XPath](https://github.com/pharo-contributions/XML-XPath) - Official XPath library for Pharo.\n+ [Soup](https://github.com/Ducasse/Soup) - HTML Scraping library for Pharo.\n\n## Data Structures\nThe project http://github.com/Pharo-containers contains several data structures. Some more are in nursery in https://github.com/Ducasse/.\nThe general idea is to have a place to be able to find datastructures. \n+ [Array2D](https://github.com/Ducasse/Containers-Arrays2D) - A grid like structure. \n+ [AVL Tree ](https://github.com/pharo-containers/AVL)\n+ [BTree](https://github.com/pharo-containers/BTree) - Not a binary tree but a BTree implementation.\n+ [DataFrame](https://github.com/PolyMathOrg/DataFrame) - Tabular data structures for data analysis.\n+ [Dictionary with lookup](https://github.com/Ducasse/Containers-PropertyEnvironment) - A dictionary with lookup.\n+ [Grid](https://github.com/Ducasse/Containers-Grid) - A grid implementation.\n+ [Hastable](https://github.com/pharo-containers/Containers-HashTable).\n+ [Iterators](https://github.com/juliendelplanque/Iterators) - Implementation of the iterator design pattern.\n+ [KeyedTree](https://github.com/pharo-containers/Containers-KeyedTree).\n+ [Multimap](https://github.com/Ducasse/Containers-OrderedMultiMap) - A multi map implementation.\n+ [OrderedSet](https://github.com/olekscode/Containers-OrderedSet) - 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 https://github.com/pharo-containers/Containers-OrderedSet\n+ [OrderPreservingDictionary](https://github.com/Ducasse/Containers-OrderPreservingDictionary) - Order preserving dictionary.\n+ [PropertyEnvironment](https://github.com/Ducasse/Containers-PropertyEnvironment) - A dictionary of properties with a lookup in ancestors (also called environment in other languages).\n+ [QuadTrees](https://github.com/Ducasse/QuadTree/).\n+ [RunArray](https://github.com/pharo-containers/Containers-RunArray).\n+ [SkipList](https://github.com/Ducasse/Containers-SkipList).\n+ [Stack](https://github.com/pharo-containers/Containers-Stack) - A stack implementation.\n+ [Trie](https://github.com/pharo-containers/Containers-Trie) - a structure for retrieval information.\n+ [UniqueOrdered ](https://github.com//pharo-containers/Containers-UniqueOrdered) - Some collections to have unique ordered elements.\n\n## Databases\n+ [CDB](https://github.com/Ducasse/CDB) - a CDB implementation in Pharo. \n+ [CouchDB](https://github.com/eMaringolo/pharo-couchdb) - Pharo client for CouchDB NoSQL Document Database.\n+ [Garage](https://github.com/pharo-rdbms/garage) - Database drivers for the Pharo language.\n+ [Glorp](https://github.com/pharo-rdbms/glorp) - Multi-database cross-platform object-relational persistence for Pharo and many other Smalltalks.\n+ [P3](https://github.com/svenvc/P3) - PostgresV3 protocol client for Pharo, standalone and integrated with Glorp.\n+ [pharo-ado](https://github.com/eftomi/pharo-ado) - Enable data persistence in Pharo by using ActiveX Data Objects (ADO) on Microsoft Windows and external DBMS.\n+ [Pharo-UDBC](https://github.com/astares/Pharo-UDBC) - Pharo Universal Database Connectivity.\n+ [PunQLite](https://github.com/mumez/PunQLite) - UnQLite binding for Pharo Smalltalk.\n+ [ReStore](https://github.com/rko281/ReStoreForPharo) - Relational database persistence for Pharo objects (based on SQLite, PostgreSQL or MySQL).\n+ [Tarantalk](https://github.com/mumez/Tarantalk) - Tarantool client for Pharo.\n+ [SCouchDB](https://github.com/jmari/SCouchDB) - Pharo driver for CouchDB database using Zinc client. Supports Mango queries and implements Voyage API.\n+ [Simple-Persistence](https://github.com/seandenigris/Simple-Persistence) - Simple file base persistence for when you don't quite need a database.\n+ [Soil](https://github.com/ApptiveGrid/Soil) - Object oriented database library. Persistency to disk with transactions and search indexes.\n+ [SQLite3](https://github.com/pharo-rdbms/Pharo-SQLite3) - Community-owned official SQLite3 binding for Pharo. Includes packages for use in Glorp. \n+ [Voyage](https://github.com/pharo-nosql/voyage) - An object persistence abstraction layer for Pharo.\n\n## Datasets\n+ [Datasets](https://github.com/pharo-ai/Datasets) - 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.\n+ [Les Miserables](https://github.com/bergel/LesMiserables) - Coappearance characters of Les Miserables.\n+ [RandomPartitioner](https://github.com/pharo-ai/RandomPartitioner) - 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.\n\n## Deployment\n- [Docker Pharo Runtime](https://github.com/ba-st/docker-pharo-runtime) - Docker image for Pharo \n- [Docker Pharo VM](https://github.com/ba-st/docker-pharo-vm) - Docker image for Pharo VM\n\n## Documents Generation\n+ [Artefact](https://github.com/pharo-contributions/Artefact) - Artefact is a framework to generate PDF documents in Pharo.\n\n## Graphics\n+ [Alexandrie](https://github.com/pharo-graphics/Alexandrie) - FFI bindings and a 2D canvas for Pharo based on Cairo, Freetype and Harfbuzz\n+ [Bloc](https://github.com/pharo-graphics/Bloc) - Next generation low-level UI infratructure and framework for Pharo.\n+ [ConstraintsLayout](https://github.com/tesonep/ConstraintsLayout) - A constraints layout for morphic using Cassowary as its backend.\n+ [Colors Extensions](https://github.com/pharo-contributions/ColorsExtensions) - Extensions to Pharo colors.\n+ [GraphViz](https://github.com/hernanmd/GraphViz) - Pharo GraphViz binding.\n+ [GEXF](https://github.com/badetitou/PharoGEXF) - Pharo [GEXF file](https://gexf.net/) model and exporter.\n+ [Jun](https://github.com/tomooda/Jun) - A 3D graphics library with chemoinformatics extensions.\n+ [MaterialColors](https://github.com/DuneSt/MaterialColors) - Project implementing Material Design recommandations on colors.\n+ [MermaidPharo](https://github.com/badetitou/MermaidPharo) - Pharo support for [MermaidJS](https://mermaid.js.org/#/).\n+ [PlantUMLPharoGizmo](https://github.com/fuhrmanator/PlantUMLPharoGizmo) - Pharo support for PlantUML.\n+ [Pyramid](https://github.com/OpenSmock/Pyramid) - Pyramid is a Graphical User-Interface (GUI) builder and editor for Bloc and Toplo.\n+ [Roassal3](https://github.com/pharo-graphics/Roassal) - The agile 2D visualization engine for Pharo version 3. (V2: [Roassal2](https://github.com/ObjectProfile/Roassal2)) \n+ [Sparta](https://github.com/syrel/Sparta) - Sparta is an almost stateless vector graphics API for Pharo that provides bindings to the Moz2D rendering backend. \n+ [SpecUIAddOns](https://github.com/hernanmd/SpecUIAddOns) - Add-ons for Spec UI description framework.\n+ [Toplo](https://github.com/pharo-graphics/Toplo) - A widget framework on top of Bloc.\n+ [Woden](https://github.com/ronsaldo/woden) - A 3D graphics engine for Pharo.\n\n## IDE\n+ [Calypso](https://github.com/pharo-ide/Calypso) - Pharo system browser.\n+ [CollectionExtensions](https://github.com/pharo-contributions/CollectionExtensions) - Extensions for Pharo collections API.\n+ [Dawn theme](https://github.com/sebastianconcept/PharoDawnTheme) - A warm dark theme for Pharo.\n+ [Glamorous Toolkit](https://github.com/feenkcom/gtoolkit) - Moldable IDE for Pharo.\n+ [Mirage](https://github.com/juliendelplanque/Mirage) - A windows switcher with a previewer for Pharo.\n+ [Native-Browser](https://github.com/jecisc/Native-Browser) - A small project to add the possibility to open native browser via a FileReference.\n+ [Smalltalk Vim Mode](https://github.com/unchartedworks/SmalltalkVimMode) - Vim Mode for Playground, System Browser, Debugger in Pharo.\n+ [TelePharo](https://github.com/pharo-ide/TelePharo) - Tools to manage and develop remote Pharo images.\n+ [TilingWindowManager](https://github.com/Pharophile/TilingWindowManager) - Tiling Window Manager for Pharo.\n+ [Uncommon-Themes](https://github.com/David5i6/Uncommon-Themes) - A collection of themes for Pharo.\n+ [Webside](https://github.com/guillermoamaral/Webside) - Web based IDE for Pharo and other Smalltalk systems.\n\n## Interaction\n+ [GitBridge](https://github.com/jecisc/GitBridge) - Access resources and information from the git repository containing your project.\n+ [OSC](https://github.com/Ducasse/OSC) - An open sound control library.\n+ [TUIO](https://github.com/Ducasse/TUIO) - A driver for TUIO.\n\n## IOT\n+ [HID](https://github.com/tamerescrl/libusb-pharo#hid-layer) - An implementation of the Human Interface Device protocol with a driver to be used with libusb.\n+ [Netatmo API](https://github.com/labordep/PharoNetatmoAPI) - Netatmo API implementation for Legrand Netatmo products (Weather Station and Healthy HomeCoach / Aircare product).\n+ [PharoThings](https://github.com/pharo-iot/PharoThings) - Live programming platform for IoT projects based on Pharo.\n\n## Language extensions\n+ [Buoy](https://github.com/ba-st/Buoy) - A complement to Pharo\n+ [I18N](https://github.com/astares/Pharo-I18N) - Internationalization support for applications.\n+ [Talents](https://github.com/tesonep/pharo-talents) - Implementation of Talents in Pharo. Allowing us to extend the behaviour in single instances.\n\n## LaTeX\n+ [Citezen](https://github.com/Ducasse/Citezen) - A bibtext parser and tool suite.\n+ [SmalltalkEnv](https://github.com/mattonem/SmalltalkEnv) - LaTeX environment for Smalltalk.\n\n## Loggers\n+ [Beacon](https://pharo-project/pharo) - The default object logger of Pharo.\n+ [Bell](https://github.com/ba-st/Bell) - An observability library written in Smalltalk.\n+ [SystemLogger](https://github.com/Ducasse/SystemLogger/) - An extensible object logger. \n+ [TinyLogger](https://github.com/jecisc/TinyLogger) - A small textual logger for Pharo applications.\n+ [Toothpick](https://github.com/pdebruic/Toothpick) - A textual logger for Pharo.\n\n## Meta-modelling\n+ [Magritte](https://github.com/magritte-metamodel/magritte) - A fully dynamic meta-description framework.\n\n## Miscellaneous\n+ [Aconcagua](https://github.com/ba-st/aconcagua) - This model represents measures as first class objects, that is, an object that encapsulates a number with its unit.\n+ [BugReport](https://github.com/jecisc/BugReport) - A small project to ease the bug reporting in Pharo application by dumping clear and detailed stacks. \n+ [Chalten](https://github.com/ba-st/Chalten) - This is a time model that allows to use dates, months, years, etc. in an easy way.\n+ [DMirror](https://github.com/ObjectProfile/DMirror) - Tool to spawn new job on forked Pharo images.\n+ [Dr Geo](http://www.drgeo.eu/home) - A software to design \u0026 manipulate interactive geometric sketches. It helps kids to explore geometry.\n+ [Fog](https://github.com/smartanvil/Fog) - Pharo Ethereum Driver.\n+ [IPFS](https://github.com/khinsen/ipfs-pharo) - Binding to InterPlanetary File System for Pharo.\n+ [ISO3166](https://github.com/hernanmd/ISO3166) - Codes for the names of countries, dependent territories, and special areas of geographical interest for Pharo applications.\n+ [PharoFamily](https://files.pharo.org/media/pharo-family1.pdf) - PDF image showing a part of Pharo ecosystem.\n+ [PharoMisc](https://github.com/bouraqadi/PharoMisc) - Small utilities and libraries around various topics.\n+ [PTerm](https://github.com/lxsang/PTerm) - Using Unix terminal from Pharo.\n+ [Stylesheet](https://github.com/pharo-contributions/Stylesheet) - Stylesheet is a project to define css like stylesheet in Pharo applications.\n+ [Territorial](https://github.com/hernanmd/Territorial) - Geographical Information Retrieval (GIR) project including features to access geopolitical objects like Nations, Cities, Regions, International Organizations, and statistical data.\n\n## Network protocols\n+ [Ansible](https://github.com/ba-st/Ansible) - An AMQP client for Pharo\n+ [FileSystemNetwork](http://smalltalkhub.com/#!/~UdoSchneider/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.\n+ [JRPC](https://github.com/juliendelplanque/JRPC) - Yet another [JSON-RPC 2.0](https://www.jsonrpc.org/specification) implementation for Pharo Smalltalk.\n+ [Stargate](https://github.com/ba-st/Stargate) - A library supporting the creation of HTTP based RESTful APIs.\n+ [Superluminal](https://github.com/ba-st/Superluminal) - Building blocks for creating HTTP requests and API clients\n+ [WebSocket with Zinc](https://github.com/svenvc/zinc) - The WebSocket feature of the Zinc HTTP Components framework.\n+ [Zodiac](https://github.com/svenvc/zodiac) (built-in) - Zodiac is an open-source Smalltalk framework implementing TLS/SSL secure as well as regular socket streams.\n\n## Pharo images management\n+ [fari.sh](https://github.com/cdlm/fari.sh) - Fresh, ready-to-hack Pharo images.\n+ [Pharo Install](https://github.com/hernanmd/pi) - A command-line tool for installing Pharo Smalltalk packages into fresh images.\n+ [Pharo Launcher](https://github.com/pharo-project/pharo-launcher) - Official tool to manage your pharo images and download new ones.\n\n## Projects management\n+ [Chrysal](https://github.com/Ducasse/Chrysal) - How to manage application configuration. \n+ [Cruiser](https://github.com/VincentBlondeau/Cruiser) - Application packager for Pharo.\n+ [DeploymentUtility](https://github.com/jecisc/DeploymentUtility) - A project providing a facade to help to deploy pharo projects. \n+ [Filetree](https://github.com/dalehenrich/filetree) - A file-per-method export format of Pharo source code allowing one to version code with git, svn, fosil, etc.\n+ [Metacello](https://github.com/Metacello/metacello) - A package management system for Pharo.\n+ [pharo-server-tools](https://github.com/svenvc/pharo-server-tools) - Tools to deploy and manage headless Pharo servers from the command line.\n+ [SmalltalkCI](https://github.com/hpi-swa/smalltalkCI) - Framework for testing Smalltalk projects on Linux, macOS, and Windows and on Travis CI, AppVeyor, and GitLab CI/CD.\n+ [Tonel](https://github.com/pharo-vcs/tonel) - A file-per-class export format of Pharo source code allowing one to version code with git, svn, fosil, etc.\n\n## Scientific libraries\n+ [BioSmalltalk](https://github.com/hernanmd/BioSmalltalk) - Bioinformatics Library for Pharo Smalltalk.\n+ [CORMAS](https://github.com/cormas/cormas) - CORMAS (Common-pool Resource and Multi-Agent Simulation) is a agent based model library in Smalltalk.\n+ [GADM](https://github.com/hernanmd/GADM) - A browseable GADM world tree for Pharo Smalltalk.\n+ [Geometry](https://github.com/TelescopeSt/Geometry) - A library for representing basic geometry elements and doing computations with them.\n+ [HoneyGinger](https://github.com/tomooda/HoneyGinger) - a fluid dynamics simulation engine focused on interactivity and visualization\n+ [Kendrick](https://github.com/UMMISCO/kendrick) - Domain-Specific Modeling for Epidemiology.\n+ [MatplotLibBridge](https://github.com/juliendelplanque/MatplotLibBridge) - A bridge to Python's Matplotlib.\n+ [Mathemagics](https://github.com/grpistoia/Mathemagics) - Symbolic algebra package that handles mathematical expressions using simplification, derivatives, functions, variables, etc. Calculator included. Parser supports infix notation.\n+ [Polymath](https://github.com/PolyMathOrg/PolyMath) - Set of mathematical tools for Pharo. Similar to numpy in Python.\n+ [RMapViewer](https://github.com/ReactionMap/RMapViewer) - A Viewer for chemical reaction maps.\n+ [StNER](https://github.com/hernanmd/StNER) - Interface to the Stanford Named Entity Recognizer.\n+ [Units](https://github.com/zweidenker/Units) - A simple package for Units management in Pharo.\n+ [Z3950](https://github.com/hernanmd/Z3950) - ZOOM FFI Client for Z39.50 Protocol.\n\n## Software / data analysis\n+ [CCBC](https://github.com/hernanmd/ccbc) - Code Critics Bar Chart for Pharo Smalltalk.\n+ [DesignInfo](https://github.com/hernanmd/DesignInfo) - Collects package metrics (SLOC).\n+ [Gitminer](https://github.com/USIREVEAL/gitminer) - A tool to mine Git-based software repositories.\n+ [Moose](https://github.com/moosetechnology/Moose) - Platform for software and data analysis.\n+ [PetitParser](https://github.com/moosetechnology/PetitParser) - Petit Parser is a framework for building parsers using objects.\n+ [PostgreSQLParser](https://github.com/juliendelplanque/PostgreSQLParser) - A parser for PostgreSQL queries and Plpg/SQL source code.\n\n## Sound\n+ [Pharo-LibVLC](https://github.com/badetitou/Pharo-LibVLC) - FFI binding to [libVLC](https://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc.html).\n+ [PharoSound](https://github.com/psvensson/PharoSound) - Sound facilities for Pharo.\n\n## System interaction\n+ [KerasBridge](https://github.com/ObjectProfile/KerasBridge) - Bridge between the Keras library for neural network and Pharo\n+ [LibUSB](https://github.com/tamerescrl/libusb-pharo) - A FFI binding to libusb C library.\n+ [OSSubprocess](https://github.com/pharo-contributions/OSSubprocess) - Allows one to spawn Operating System processes from within Pharo language.\n+ [Pharo-OS-Linux-Ubuntu](https://github.com/astares/Pharo-OS-Linux-Ubuntu) - Support for Ubuntu operating system for Pharo.\n+ [Pharo-OS-OSX](https://github.com/astares/Pharo-OS-OSX) - Support for OSX operating system for Pharo.\n+ [Pharo-OS-Unix](https://github.com/astares/Pharo-OS-Unix) - Support for Unix operating system for Pharo.\n+ [Pharo-OS-Raspbian](https://github.com/astares/Pharo-OS-Raspbian) - Support for Raspbian operating system for Pharo.\n+ [Pharo-OS-Windows](https://github.com/astares/Pharo-OS-Windows) - Support for Windows operating system for Pharo.\n+ [ProcessWrapper](https://github.com/hernanmd/ProcessWrapper) - Plugin + Wrapper code for Windows process execution.\n+ [PythonBridge](https://github.com/ObjectProfile/PythonBridge) - A bridge between Python and Pharo. This bridge allows to seamlessly use Python libraries in Pharo\n+ [SystemInteraction](https://github.com/jecisc/SystemInteraction) - A project to simplify system interactions in Pharo providing a facade to OSSubProcess and OSWindSubProcess and some pre-made commands.\n\n## Testing\n+ [Babymock](https://github.com/zeroflag/BabyMock) - A visual mock object library.\n+ [DrTests](https://github.com/juliendelplanque/DrTests/) - An extendable, plugins-based UI for testing Pharo projects.\n+ [Hapao](https://github.com/ObjectProfile/Spy2) - Spy2 is a profiling framework. Spy2 contains Hapao, the visual test coverage tool.\n+ [Mocketry](https://github.com/dionisiydk/Mocketry) - Mock objects library with very fluent lightweight API.\n+ [µ-talk](https://github.com/pavel-krivanek/mutalk) - Mutation Testing in Smalltalk.\n+ [ParametrizedTests](https://github.com/tesonep/ParametrizedTests) - Extension to SUnit to implement parametrized tests in Pharo.\n+ [StateSpecs](https://github.com/dionisiydk/StateSpecs) - Assertions library based on should expressions.\n\n## Tutorials\n+ [Exercism Pharo Smalltalk](https://github.com/exercism/pharo-smalltalk) - Solve problems with TDD at [Exercism.io](https://exercism.io/) and receive mentor feedback.\n\n## VCS\n+ [Iceberg](https://github.com/pharo-vcs/iceberg) - Set of tools to handle git repositories from a Pharo image.\n\n## Videos\n+ [How to setup a Pharo project](https://www.youtube.com/watch?v=Wnt3OBhR18I) - Video showing how to setup a Pharo project (continuous-integration setup included).\n+ [Infecting morph by virus](https://www.youtube.com/watch?v=mnu51GDhOL4) - Example of usage of [Ghost](https://github.com/pharo-ide/Ghost) to infect a Morph, making it change the color of other Morphs it touches.\n+ [Pharo Tech Talk Feb 2017 : Reflectivity](https://www.youtube.com/watch?v=H52MAu_ISgU) - Reflectivity in Pharo6.\n+ [Pharo Techtalk: Consortium/Association 2017](https://www.youtube.com/watch?v=jYtNinyj69I) - Live stream for the pharo tech talk March 2018.\n+ [Pharo TechTalk July 2019: Contribute to Pharo](https://www.youtube.com/watch?v=90T0OSb_Fuo) - TechTalk showing how to contribute to Pharo.\n\n## Virtual Machine\n+ [Polyphemus](https://github.com/pharo-vcs/iceberg) - Framework allowing to analyse/query/modify Pharo images without executing them.\n\n## Web\n+ [Amber](https://amber-lang.net) - Amber is an implementation of the Smalltalk language that runs on top of the JavaScript runtime. It uses Pharo as reference implementation.\n+ [ChartJs](https://github.com/DuneSt/ChartJs) - Seaside binding of ChartJs to display and interact with charts.\n+ [CodeParadise](https://github.com/ErikOnBike/CodeParadise) - Run Pharo code inside a tiny SqueakJS VM and manipulate the Dom via WebComponents and MVP\n+ [Ethel](https://github.com/grype/Ethel) - Lightweight framework for composing web service clients.\n+ [HighchartsSt](https://github.com/ba-st/HighchartsSt) - A Highcharts Js API wrapper for Pharo Smalltalk.\n+ [MaterialDesignLite](https://github.com/DuneSt/MaterialDesignLite) - Binding google's Material Design Lite project for Seaside.\n+ [OpenAPI](https://github.com/zweidenker/OpenAPI) - A pharo implementation of [OpenAPI](https://www.openapis.org) 3.0.1, a machine-readable interface files specification for describing, producing, consuming, and visualizing RESTful web services.\n+ [Parasol](https://github.com/SeasideSt/Parasol) - Testing web apps in Smalltalk using Selenium WebDriver.\n+ [PharoJS](https://github.com/PharoJS/PharoJS) - Develop in Pharo, Run on Javascript.\n+ [Pragma-Validators](https://github.com/radekbusa/Pragma-Validators) - Pragma validators for Pharo accessors, inspired by Java Bean Validation annotations.\n+ [PrismCodeDisplayer](https://github.com/DuneSt/PrismCodeDisplayer) - Code displayer for Seaside base on Prism.js project.\n+ [RenoirSt](https://github.com/ba-st/RenoirSt) - A DSL enabling programmatic cascading style sheet generation for Pharo Smalltalk.\n+ [Seaside](https://github.com/SeasideSt/Seaside) - Framework to develop sophisticate web applications in Smalltalk.\n+ [SeasideBootstrap](https://github.com/astares/Seaside-Bootstrap) - Binding to Twitter's Bootstrap project for Seaside.\n+ [Teapot](https://github.com/zeroflag/Teapot) - Micro web framework for Pharo Smalltalk.\n+ [Teapot-ACL](https://github.com/radekbusa/Teapot-ACL) - A minimalistic role-based access control list for Teapot authorization.\n+ [TelescopeCytoscape](https://github.com/TelescopeSt/TelescopeCytoscape) - Interactive visualization project for Seaside based on Cytoscape.js.\n+ [WebST](https://github.com/bouraqadi/WebST/) - A framework for building Web Components using PharoJS\n+ [Willow](https://github.com/ba-st/Willow) - Web Interaction Library that eases the burden of creating AJAX-based web applications.\n+ [Zinc](https://github.com/svenvc/zinc) - HTTP components to deal with HTTP networking in Smalltalk.\n\n## Web API clients\n\n- [DiscordSt](https://github.com/JurajKubelka/DiscordSt) - DiscordSt is a client for Discord written in Pharo.\n- [Elasticsearch-Pharo-API](https://github.com/Evref-BL/Elasticsearch-Pharo-API) - Elasticsearch-Pharo-API is a client for [Elasticsearch](https://www.elastic.co/elasticsearch/) written in Pharo.\n- [Jira-Pharo-API](https://github.com/Evref-BL/Jira-Pharo-API) - Jira-Pharo-API is a client for [Jira](https://www.atlassian.com/software/jira) written in Pharo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpharo-open-documentation%2Fawesome-pharo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpharo-open-documentation%2Fawesome-pharo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpharo-open-documentation%2Fawesome-pharo/lists"}