Linux workstation

openSUSE Leap 16.0 native package

php8-shmop

Alternate, low-level shared memory implementation for PHP

Packages / openSUSE Leap 16.0 / Development/Libraries/PHP / php8-shmop

[Source: php8]

Package: php8-shmop (8.4.24-160000.1.1)

External Resources:

Homepage: [secure.php.net]

Similar packages:

Alternate, low-level shared memory implementation for PHP

An extension created as an alternative to the sysvmsg module.

Other Packages Related to php8-shmop:

  • dep: ld-linux-aarch64.so.1()(64bit)

    Package not available

  • dep: ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)

    Package not available

  • dep: php (= 8.4.24)

    Package not available

  • dep: libc.so.6(GLIBC_2.17)(64bit)

    Package not available

Download php8-shmop

ArchitecturePackage SizeInstalled SizeFiles
aarch64239 KiB67 KiB[list of files]
ppc64le239 KiB66 KiB[list of files]
s390x239 KiB14 KiB[list of files]
x86_64239 KiB19 KiB[list of files]

Package file paths (2)

Paths come from the repository package-file index for the observed builds. They describe archive/package associations, not every file that will exist on a running system after maintainer scripts, alternatives, generated state, diversions, or installation choices.

  • /etc/php8/conf.d/10-shmop.ini
  • /usr/lib64/php8/extensions/shmop.so

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

Use this package

OpenFactory can boot this operating system in a browser VM, or start a build that includes the native package name from this record.

Versions, suites, and repositories

Each row is recorded package-index metadata for one version, architecture, suite, and repository. Names, URLs, and sizes are source-reported; a link is a potentially mutable retrieval location, not an OpenFactory redistribution claim or proof that OpenFactory retained the artifact bytes.

VersionReleaseArchitectureRepositoryPackage sizeInstalled sizePublisher repository artifact
8.4.24-160000.1.1leap-16.0 / ossaarch64openSUSE Leap 16.0 · OSS · multi-architecture239 KiB67 KiBaarch64/php8-shmop-8.4.24-160000.1.1.aarch64.rpm
8.4.24-160000.1.1leap-16.0 / ossppc64leopenSUSE Leap 16.0 · OSS · multi-architecture239 KiB66 KiBppc64le/php8-shmop-8.4.24-160000.1.1.ppc64le.rpm
8.4.24-160000.1.1leap-16.0 / osss390xopenSUSE Leap 16.0 · OSS · multi-architecture239 KiB14 KiBs390x/php8-shmop-8.4.24-160000.1.1.s390x.rpm
8.4.24-160000.1.1leap-16.0 / ossx86_64openSUSE Leap 16.0 · OSS · multi-architecture239 KiB19 KiBx86_64/php8-shmop-8.4.24-160000.1.1.x86_64.rpm
8.4.23-160000.1.1leap-16.0 / ossaarch64openSUSE Leap 16.0 · OSS · multi-architecture234 KiB67 KiBaarch64/php8-shmop-8.4.23-160000.1.1.aarch64.rpm
8.4.23-160000.1.1leap-16.0 / ossppc64leopenSUSE Leap 16.0 · OSS · multi-architecture234 KiB66 KiBppc64le/php8-shmop-8.4.23-160000.1.1.ppc64le.rpm
8.4.23-160000.1.1leap-16.0 / osss390xopenSUSE Leap 16.0 · OSS · multi-architecture234 KiB14 KiBs390x/php8-shmop-8.4.23-160000.1.1.s390x.rpm
8.4.23-160000.1.1leap-16.0 / ossx86_64openSUSE Leap 16.0 · OSS · multi-architecture234 KiB19 KiBx86_64/php8-shmop-8.4.23-160000.1.1.x86_64.rpm
8.4.21-160000.1.1leap-16.0 / ossaarch64openSUSE Leap 16.0 · OSS · multi-architecture232 KiB67 KiBaarch64/php8-shmop-8.4.21-160000.1.1.aarch64.rpm
8.4.21-160000.1.1leap-16.0 / ossppc64leopenSUSE Leap 16.0 · OSS · multi-architecture232 KiB66 KiBppc64le/php8-shmop-8.4.21-160000.1.1.ppc64le.rpm
8.4.21-160000.1.1leap-16.0 / osss390xopenSUSE Leap 16.0 · OSS · multi-architecture231 KiB14 KiBs390x/php8-shmop-8.4.21-160000.1.1.s390x.rpm
8.4.21-160000.1.1leap-16.0 / ossx86_64openSUSE Leap 16.0 · OSS · multi-architecture232 KiB19 KiBx86_64/php8-shmop-8.4.21-160000.1.1.x86_64.rpm
8.4.16-160000.2.1leap-16.0 / ossaarch64openSUSE Leap 16.0 · OSS · multi-architecture220 KiB67 KiBaarch64/php8-shmop-8.4.16-160000.2.1.aarch64.rpm
8.4.16-160000.2.1leap-16.0 / ossppc64leopenSUSE Leap 16.0 · OSS · multi-architecture220 KiB66 KiBppc64le/php8-shmop-8.4.16-160000.2.1.ppc64le.rpm
8.4.16-160000.2.1leap-16.0 / osss390xopenSUSE Leap 16.0 · OSS · multi-architecture220 KiB14 KiBs390x/php8-shmop-8.4.16-160000.2.1.s390x.rpm
8.4.16-160000.2.1leap-16.0 / ossx86_64openSUSE Leap 16.0 · OSS · multi-architecture220 KiB19 KiBx86_64/php8-shmop-8.4.16-160000.2.1.x86_64.rpm
8.4.16-160000.1.1leap-16.0 / ossaarch64openSUSE Leap 16.0 · OSS · multi-architecture220 KiB67 KiBaarch64/php8-shmop-8.4.16-160000.1.1.aarch64.rpm
8.4.16-160000.1.1leap-16.0 / ossppc64leopenSUSE Leap 16.0 · OSS · multi-architecture220 KiB66 KiBppc64le/php8-shmop-8.4.16-160000.1.1.ppc64le.rpm
8.4.16-160000.1.1leap-16.0 / osss390xopenSUSE Leap 16.0 · OSS · multi-architecture220 KiB14 KiBs390x/php8-shmop-8.4.16-160000.1.1.s390x.rpm
8.4.16-160000.1.1leap-16.0 / ossx86_64openSUSE Leap 16.0 · OSS · multi-architecture220 KiB19 KiBx86_64/php8-shmop-8.4.16-160000.1.1.x86_64.rpm
8.4.10-160000.2.2leap-16.0 / ossaarch64openSUSE Leap 16.0 · OSS · multi-architecture204 KiB67 KiBaarch64/php8-shmop-8.4.10-160000.2.2.aarch64.rpm
8.4.10-160000.2.2leap-16.0 / ossppc64leopenSUSE Leap 16.0 · OSS · multi-architecture204 KiB66 KiBppc64le/php8-shmop-8.4.10-160000.2.2.ppc64le.rpm
8.4.10-160000.2.2leap-16.0 / osss390xopenSUSE Leap 16.0 · OSS · multi-architecture203 KiB14 KiBs390x/php8-shmop-8.4.10-160000.2.2.s390x.rpm
8.4.10-160000.2.2leap-16.0 / ossx86_64openSUSE Leap 16.0 · OSS · multi-architecture204 KiB19 KiBx86_64/php8-shmop-8.4.10-160000.2.2.x86_64.rpm

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

Checksums and observation dates

For an APT source, signature verification authenticates the repository metadata chain and the Packages index containing this source-reported artifact digest. It does not certify package safety.

8.4.24-160000.1.1 / aarch64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 063a5755ae0825aba42a98c22ce762dc5b1ed16a57208be0fb3ad3728d301023c6ce5ac4d07fa5ac1daa77a292e1b9bc487ad268b9551d7611a4ebe7de0ee61c

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.24-160000.1.1 / ppc64leObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: f109f5905eed0ed01a67bc42131d8967a22854ab1cec4a7136dfdd2a16f9d2aa5a4cfbb38b1cbf0b3fff529a0e04c619a2f1cc722c40afcb714eee8bab5268af

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.24-160000.1.1 / s390xObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 1a18a091a25dd3c28ab18a136d9455f3dfd4d37522ba6e5214677d0f4850bd349b2ef55d089ebb0e231f239786dfaefc8d5fa665beaf0eaf9df321b0d54d3e3a

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.24-160000.1.1 / x86_64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 11bff2eb3804590089372a13e4d5a19c87b2df56984f5ad7b48e33c8679f4ab58d5e0eb3bd17b27a5eb470f27e63336896b78dc8dd61547ea258fe3d1af8b0aa

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.23-160000.1.1 / aarch64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 75cc205994e2706a53c0f3615634150cf74f14fb0839a38953290956c89b4a4f6d4cda8e89ce7f5b5bd050e9413a76e74fad4516d6314c2f5554e69f8b5c702d

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.23-160000.1.1 / ppc64leObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 9e3894f736b5aeb7b0c537b90a2dad94d39ba9eb2ec55303b253080d7e9e81b925558a55dfa37497e3066251eaf36333745d31d0cb17821718997fad186ae763

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.23-160000.1.1 / s390xObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: ecf7f6279647c9b14ccbb55f6f70ea1b214b44caf18c3a43b08790ae6524d40af06ba568e4de7b230dbe9fc19a8b68d658620a854590b4e9784fdfb23e4ca5b3

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.23-160000.1.1 / x86_64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 900cf32aead97b90953acf9c06d97ab1868441df531f8d72988ec52b35c8f73a238a332a05eb8cf1a197527b9f6880da871fcc4228620ea42a3e0552c13d99a4

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.21-160000.1.1 / aarch64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 56200e6d1a1433d9c01e3b2fcc0f3a352a74e8fdad822fb4ba8ed1f3a954cfb0bdbe008c4d3941dea0902dc7003353cbc993fdeaca4e61b4f63d56435c191f0f

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.21-160000.1.1 / ppc64leObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: d4530faf63a2d7282cd65aa698eee849b3d1d2efa7165f0478fea5c9152fe59ae92e9afd29a8e87a306e12ef728ecbd7102c9d8590c9fff8bf78d3905195f39e

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.21-160000.1.1 / s390xObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 67ed339321904bc7e2698659de632025936bc879f4ada41b93acced71e97218af97736535c51a13a60b3178e78ff5076f717228f9a5fd56f12ce524d17cdad61

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.21-160000.1.1 / x86_64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 7d4e01bd8a2f709a86a9140779e9a8579191e301f44167e264d297c4a676c07beeea838e029a366d4b3a421fae954cc4b9f1b805290e39f39249255de3e56749

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.16-160000.2.1 / aarch64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: e7a56ecad519b66c35c85600b4b3dc02d944cb532435303c9c867e2627a63652546e2107132c50d3498256649001cb2c1792c0a11803328fabdbacaa60aed4ac

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.16-160000.2.1 / ppc64leObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 1be2b3f504c2535494b99c219db4fe0b5073e910ff5c51a7772a388073e60ecdb880eed502c4930adf422fbbd97936c1f85100be916ae9384ff490576333c88e

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.16-160000.2.1 / s390xObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 4a7412b8835dee09553125ac0296ffbddebe518efcddbb427f9a1eaedf4b4ba725ff0a1d209a4beef26c07358f0cb766990a1a719a6af485639cca7f15d35ce1

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.16-160000.2.1 / x86_64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: b24f4b9be59c13bb94b1ca52c2d78572d407d08ea48f3a9bbb468f4ef7c475397563237118255c54fbd9ffcc7ef4eff464ba9f0122869137609d686f6dd34bb2

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.16-160000.1.1 / aarch64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 584cd90f40a17bafa17542d0e8e67770bb233b6df0d6edb3dbb8d7ab0aa9a821e5130707c72265062e4f02a6e32219f22698800629675acf9baa63ad6d401f44

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.16-160000.1.1 / ppc64leObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 27e6448a2abf6065c6c0999f8c0e230719a8d3f3ff656f083204fa050fa24b0526a81c35090e749a4b88f7eeecbb76e44fd1a4bd1458fcfc15e7315bf2b31ea1

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.16-160000.1.1 / s390xObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 3683c896c12f5ff5cffb0ba54b59afccd15337aba04c8d5d9c8b8462f974cc7b35e36573c673b9509243a567ddd5e8da1279f065d4ab37c194aa47fbd1d1e6c2

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.16-160000.1.1 / x86_64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: c950f318c3e07883aff9a3b8367255b236c4311985bfe9940501764ae2c2483f838aabf37dbaaeeb8a72a34ba41907f377ebe0a545d7c59531dbc5a44c3c85e6

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.10-160000.2.2 / aarch64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 6adb76414deb84426401ba76bd1e1ff4011466c3afd3350f42a61c68520143ef82cb620af385b8b365ae4f20b44ab06cd04e578d337580ec853e9f458cc551da

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.10-160000.2.2 / ppc64leObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 8643243b39f3e90f43dfb1b34e0d43b56ad752c2b74c027dba6a2e0341d8a6f78767be6350b940c9f2157e4ef85d4dfa7849d5889435721a7ce83212f8c971ed

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.10-160000.2.2 / s390xObserved Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: e81fe1383aee42a72a55a71b3e89460334ee72e686aca27a8020be71aa6f06c1d93f0b6d457b13b8d497e4a684cc040c092c88caf3767bcafb8b452891edbb45

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

8.4.10-160000.2.2 / x86_64Observed Sep 1, 2026 to Sep 1, 2026

Verification status: Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.

Source-reported sha512: 53cb5e22b80de59e612ac36f54dd54e693edd5c38a5c147a5621531fd9ced2ea70c88d36b9545d263b7c7edab00d5203a5c90e4f1b7c0144dc90d672d894ba67

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

Catalog record completeness

The completeness score measures metadata coverage, not software quality, security, compatibility, or suitability.

Summary and description
25/25
Artifact path and source digest
25/25
Dependency metadata
15/15
Package-file index
15/15
Homepage
5/5
License text
5/5
Source package or maintainer
10/10

Recorded total: 100/100

Field source: openSUSE Leap 16.0 OSS revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c. The cross-OS mapping is catalog-derived from the source-reported homepage; it does not establish authorship or publisher identity

Sources and provenance

Field-source links above resolve here. Each source entry names the metadata publisher, trust tier, exact snapshot revision, signature result, and observation time; catalog-derived mappings are labeled separately.

  • Authoritative source; repository metadata signature verified, revision leap-16-0-oss-multiarch:271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c

    Signature verification covers the configured repository metadata chain. It does not certify that the package is safe or suitable.

    Repository-signature verification record
    Signed-object SHA-256
    271b36d440253edf9871ac0c100319fc7443d8f2d54b6b449a72e9414c51577c
    Signer fingerprint
    AD485664E901B867051AB15F35A2F86E29B700A4
    Keyring revision
    opensuse-project-signing-key.asc
    SHA-256 b5745739ebfb95b25b8e810f9bcb847fe750ccda598bd85f02f0e974599a6d7e
    Tool and policy
    gpgv (GnuPG) 2.4.9
    openfactory-software-catalog-signature-v1
    Verification time
    Sep 1, 2026
    Signed Release → package-index hash linkage

    Path: Not recorded
    Expected SHA-256: Not recorded
    Observed SHA-256: Not recorded
    Result: match verified

php8-shmop Package for openSUSE Leap 16.0 | OpenFactory