First off, welcome to TFF.
Now, a 10g is a quite small tank for fish, and you have listed some fish that need more of the species which would not have sufficient space. I'll explain momentarily, but if you stay with a 10g, and depending upon the water parameters, a single male Betta would be OK, or a couple groups of small-sized fish that we term nano fish. Water parameters refers to the GH (general hardness), KH (carbonate hardness or Alkalinity), pH and temperature, and here we are thinking of your source (tap) water on its own. Each species of fish has a specific type of water in which it will function normally, meaning better health. The smaller the fish, the less "adaptability" to different parameters. Some species are fairly tolerant, some not at all, when it comes to parameters. Temperature you can obviously control with a heater in the tank, but the GH/KH/pH will be what comes out of the tap, so checking with your water authority (website) for this dat is important.
To the fish species mentioned. Some fish are shoaling or schooling, meaning they live in large groups of their own species, and this requirement which is programmed into their DNA has to be provided for; numbers can vary, but there should be several and the more the better. Tank size comes into this obviously. Fish that are more active swimmers also need more space, compared to more sedate fish. Shoaling fish include the Corydoras catfish, along with most all tetras, rasboras, and several other groups. Going back to the "nano" fish/tank, there is the pygmy cory which would b fine in a 10g, in a group of say 10-12. Cories need a soft sand substrate, not gravel, so that needs to be kept in mind.
The CPD has special requirements, described here:
www.seriouslyfish.com
Once we know the water parameters, we can narrow down the suitable fish. If you can move up to a larger tank, say a 20g (basic 24 inches in length) or a 20g long (30 inches in length), your options increase considerably. A heater and filter are standard, and a tank light.