awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
thoughtbot avatar

thoughtbot/paperclipArchived

0
View on GitHub↗
9,020 stars·2,413 forks·Ruby·16 viewsthoughtbot.com↗

Paperclip

Paperclip is an ActiveRecord file attachment manager that links database models to files stored on local disks or cloud storage. It functions as a system for managing file attachments, a fingerprinting system for detecting duplicates and verifying integrity, and a MIME type validator to ensure uploaded files match allowed formats.

The project features an image processing pipeline that uses command-line utilities to automatically generate thumbnails and scaled versions of images based on predefined dimensions. It also provides S3 compatible file storage for managing attachments in Amazon S3 and other compatible cloud backends.

Broad capabilities include file upload validation based on size and content type, as well as custom file pipelines for applying logic such as watermarking or encryption during the upload workflow. The system supports importing files from diverse sources and generating public web addresses for stored versions of a file.

Features

  • File Attachment Systems - Links database models to files stored on local disks or cloud storage to track metadata.
  • File Storage Adapters - Provides a pluggable adapter system to abstract file persistence across local and cloud storage providers.
  • Storage Backend Adapters - Uses a pluggable adapter system to save attachments across multiple storage backends.
  • Image Processing - Automatically generates thumbnails and scaled versions of uploaded images based on predefined dimensions.
  • Image Processing Pipelines - Provides a sequence of tools for generating thumbnails and scaled versions of images using command-line utilities.
  • File Upload Security - Restricts attachments based on size, MIME type, and presence to ensure security and data integrity.
  • Property Validators - Enforces constraints on file presence, size, and content type to ensure data integrity.
  • File Type Validators - Verifies the actual content of uploaded files using system utilities to ensure they match allowed MIME types.
  • Model Extensions - Implements an extension to ActiveRecord models to handle file attachment metadata and lifecycle hooks.
  • Cloud Storage Integrations - Integrates with remote cloud storage services to persist files and utilize performance features.
  • S3-Compatible Cloud Storage - Provides integration with S3-compatible object storage providers for persisting uploaded file attachments.
  • File Fingerprinting Systems - Implements a checksum mechanism that generates unique digests for original files to detect duplicates.
  • Deduplication - Uses cryptographic checksums to identify identical files and prevent redundant storage.
  • S3-Compatible Storage Adapters - Provides an adapter for uploading and managing file attachments in Amazon S3 and other compatible cloud backends.
  • Processing Pipelines - Executes a sequence of custom logic and transformation steps on uploaded files before final storage.
  • On-Demand Thumbnail Generation - Automatically generates resized and cropped thumbnail variants of uploaded images.
  • Custom Processing Pipelines - Allows for custom logic such as watermarking or encryption to be applied during the file upload workflow.
  • Image Style Processing - Creates multiple versions of uploaded files using predefined geometries and formats to produce various output sizes.
  • File Integrity Verifiers - Validates unique fingerprints for attachments using configurable digest algorithms to detect corruption.
  • File Upload - Legacy file attachment management for database models.
  • File Handling - File attachment management for ActiveRecord.

Star history

Star history chart for thoughtbot/paperclipStar history chart for thoughtbot/paperclip

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does thoughtbot/paperclip do?

Paperclip is an ActiveRecord file attachment manager that links database models to files stored on local disks or cloud storage. It functions as a system for managing file attachments, a fingerprinting system for detecting duplicates and verifying integrity, and a MIME type validator to ensure uploaded files match allowed formats.

What are the main features of thoughtbot/paperclip?

The main features of thoughtbot/paperclip are: File Attachment Systems, File Storage Adapters, Storage Backend Adapters, Image Processing, Image Processing Pipelines, File Upload Security, Property Validators, File Type Validators.

Which projects share features with thoughtbot/paperclip?

Projects with overlapping indexed features include: carrierwaveuploader/carrierwave — CarrierWave is a Ruby file upload library used to manage the uploading, storing, and retrieval of files within web… parse-community/parse-server — Parse Server is a backend-as-a-service solution and Node.js framework that provides a ready-to-use REST and GraphQL… codeigniter4/codeigniter4 — CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web… awesome-selfhosted/awesome-selfhosted — This project is a community-curated directory of open-source software designed for deployment in private server… jimp-dev/jimp — Jimp is a zero-dependency JavaScript image processing library and programmatic editor designed for manipulating,… thumbor/thumbor — Thumbor is a dynamic image processing service and proxy server that resizes, crops, and filters images on demand via…

Projects sharing features with Paperclip

These projects share indexed features with Paperclip. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • carrierwaveuploader/carrierwavecarrierwaveuploader avatar

    carrierwaveuploader/carrierwave

    8,785View on GitHub↗

    CarrierWave is a Ruby file upload library used to manage the uploading, storing, and retrieval of files within web frameworks such as Rails and Sinatra. It functions as an Active Record file manager that associates uploaded assets with database records. The project includes an image processing pipeline for generating thumbnails and derivative versions of uploaded images. It also features a file validation engine to restrict uploads based on allowlists or denylists of extensions and content types, and provides cloud storage integration to manage assets on remote providers. The library covers

    Ruby
    View on GitHub↗8,785
  • parse-community/parse-serverparse-community avatar

    parse-community/parse-server

    21,403View on GitHub↗

    Parse Server is a backend-as-a-service solution and Node.js framework that provides a ready-to-use REST and GraphQL API for mobile and web applications. It functions as a core backend infrastructure for managing database schemas, user authentication, and API routing. The system distinguishes itself with a real-time data engine that pushes database updates to clients via WebSockets and a GraphQL server that automatically generates schemas based on application data models. It also features an adapter-based storage layer that abstracts interactions with various cloud and local backends. The pla

    JavaScriptbaasbackendfile-storage
    View on GitHub↗21,403
  • codeigniter4/codeigniter4codeigniter4 avatar

    codeigniter4/CodeIgniter4

    5,924View on GitHub↗

    CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools

    PHPcodeignitercodeigniter4framework-php
    View on GitHub↗5,924
  • awesome-selfhosted/awesome-selfhostedawesome-selfhosted avatar

    awesome-selfhosted/awesome-selfhosted

    299,516View on GitHub↗

    This project is a community-curated directory of open-source software designed for deployment in private server environments and home labs. It serves as a comprehensive resource for discovering independent, self-hosted alternatives to mainstream cloud services, enabling users to maintain full data ownership and control over their digital infrastructure. The directory is structured through a hierarchical taxonomy that organizes a vast collection of applications into logical categories, ranging from media management and data analytics to private communication and team productivity tools. It dis

    awesomeawesome-listcloud
    View on GitHub↗299,516
  • Compare all 30 related projects→