I'm not sure how seamless the experience is on macOS, but I'm happily using digiKam on Linux as an iPhoto/Photos replacement.
It's nowhere near as polished as Photos, but it's capable, open source, and multi-platform. I hope to maintain my photo library for decades, so avoiding proprietary software / service lock-in was my most important consideration. This decision was reinforced earlier this year when we had to do some surgery on my spouse's meticulously curated Photos library: it's damned near impossible to completely preserve metadata when moving items between Photos libraries, and it is impossible to remove RAW files from stacked RAW+JPEG pairs in the Photos library. If I ever ran into those issues in digiKam (which I haven't), I'm confident that my SQL abilities would be sufficient to work around them.